jquery ajax upload-Formular serialisieren
Ich habe einige Schwierigkeiten mit dem hochladen eines Bildes aus einem html-Formular.
Die form wird Hinzugefügt, um ein div, wenn jemand klickt auf ein Objekt, hier der code:
$("#editavatar").click(function(){
$(".rightdisplay").html('<form class="upload" method="post" enctype="multipart/form-data">');
$(".rightdisplay").append('<div class="editavatar"></div>');
$(".rightdisplay .editavatar").append('<div class="boxtitle">edit avatar</div>');
$(".rightdisplay .editavatar").append('<div class="boxwrapm"><input type="file" name="imageup" id="imageup" value="" /></div>');
$(".rightdisplay .editavatar").append('<div class="boxwrapm"><input type="submit" name="submit" class="imageupload" value="Send" /></div>');
$(".rightdisplay .editavatar").append('</form>');
Cufon.replace('.boxtitle');
});
Form ist korrekt erstellt, das problem ist, dass wenn ich versuche zu serialisieren, die entstehen, wenn jemand klickt auf die Schaltfläche Vorlage ist, dass die dataString variable bleibt leer:
$(document).on("click", "input.imageupload", function(event){
event.preventDefault();
dataString = $("form.upload").serialize();
alert(dataString);
$.ajax({
type: "POST",
url: "http://xxx/upload.php",
data: dataString,
dataType: "json",
success: function(json){
if(json.jresponse==true){
$(".avatar").css({"background" : "url(http://xxx/images/avatars/"+json.juser+".png) #000000 center center no-repeat;"});
}
alert(json.jmessage);
},
error: function(xhr, textStatus, errorThrown){
alert(errorThrown);
}
});
return false;
});
Warum nicht serialisieren?
InformationsquelleAutor JustaN00b | 2012-01-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
ajax keine Dateien hochladen und jquery nicht serialisieren file-input-Felder, siehe auch http://api.jquery.com/serialize/
es gibt Möglichkeiten, das hochladen von Dateien asynchron, obwohl der Suche nach "ajax file upload" zB. mit einigen Anpassungen könnte man simulieren, normale form Einreichen Verhalten, mit Datei-upload
InformationsquelleAutor giorgio
Wenn Sie Dateien hochladen möchten, mit der form von Daten müssen folgende js-Datei:
Und verwenden Sie den folgenden code auf jedem Fall:
InformationsquelleAutor Anand Mishra