Beste,

Op sommige website's zie ik wel eens van die systeempjes, dat je meerdere bestanden tegelijk kan uploaden.
Zodra ik een bestand selecteert, komt het onder in een lijstje te staan, en kan ik ze ook uit de lijst verwijderen. De bestanden zijn dus op dat moment ook nog niet geupload.
Pas als op een knop gedrukt word, worden deze files 1 voor 1 geupload.

Nu vind ik dit een mooi systeem, en zou dit graag ook willen toepassen. Alleen ik heb eerlijk gezegt geen idee hoe ze dit doen.

Kan iemand me veder helpen?

Alvast bedankt!
"success" betekent alleen dat de ajax call succesvol is verlopen, het zegt niets over of de upload zelf correct is gegaan (en zeker niet of bijvoorbeeld het plaatje wel goed was of niet).

Ik maak een array van foutmeldingen aan in php. Is die aan het einde leeg, dan geef ik een 0 terug, is die niet leeg (er zijn dus meldingen) dan geef ik een 1 terug, plus de foutmeldingen.
Aan de client kant kan ik dus uit het resultaat (wat ik in de variabele res terugkrijg) uitlezen wat er is gebeurt.

Zeg aan de php kant heb ik een melding en geef 1 terug, dan ziet mijn result array er als volgt uit:
<?php
$result[0]["result"] = 1;
$result[0]["messages"] = array("Bestand te groot", "Formaat niet goed");
?>
Aan de client kant check ik dan in de res variabele wat er aan de hand was:

$(document).ready(function(){
  $("#upload_knop").click(function(){
    $("#form_id").ajaxSubmit({
      url: "http"//www.blabla.nl/upload.php",
      data: {action: "upload_file"},
      dataType: "json",
      success: function(res){
        if (res[0].result == 0){
          //alles ok, doe iets
        } else {
          //iets fout, laat de foutmeldingen ergens zien
        }
      }
    });
  });
});

Reageren