Ich habe ein Formular:Wie kann ich eine Datei + Formulardaten mit dem JQuery-Datei-Upload von blueimp mit Ajax hochladen, nicht nur mit POST?
<div class="row-fluid">
<div class="span5 row-fluid" id="description" style="margin-left:0px;">
<div>
<label>Title</label>
<input class="span12" type="text" placeholder="Title" id="description_title" name="description_title"/>
<label>Author</label>
<input class="span12" type="text" placeholder="Author" id="description_author" name="description_author"/>
<label>Tags</label>
<input class="span12" type="text" placeholder="Tags" id="description_tags" name="description_tags"/>
<label>Description</label>
<textarea class="span12" id="description_textarea" name="description_textarea" rows="5" style="resize:none"></textarea>
<div id="buttons" class="row-fluid" style="margin-top: 5px">
<div class="span12">
<span class="span5 btn btn-primary btn-file" id="chose_files_btn" onclick="filechose_button.click()">chose files
<input id="filechose_button" type="file" name="fileData" data-url="http://localhost:3001/upload/1234567890"/></span>
<button id="upload_button" type="submit" name="upload" class="span5 offset2 btn btn-success" disabled="true" onclick="$('#upload_form').trigger('upload_fired');">upload</button>
</div> <!-- span12 -->
</div> <!-- buttons -->
</div> <!-- well -->
</div> <!-- video_description -->
</div> <!-- row-fluid -->
Wie kann ich ein JQuery Hochladen Plugin so integrieren, dass nach einer Datei mit filechose_button
Wahl ich die upload_button
aktivieren und alle schicken Eingabefelder und Datei (en) mit AJAX, nicht so, wie es jetzt funktioniert, einfach die Seite nach einer POST-Anfrage neu laden.
die js für den Upload ist:
$(function() {
$('#filechose_button').fileupload({
dataType: 'json',
add: function (e, data) {
data.context = $('#upload_button');
$('#upload_button').click(function() {
data.submit();
});
},
done: function (e, data) {
data.context.text('Upload finished.');
}
});
});
aber immer noch sendet er die Daten nicht mit AJAX
Sie Fileupload können sowohl Fileupload und zusätzliche Formulardaten einreichen: https://github.com/blueimp/jQuery-File-Upload/wiki/How-to-submit-additional -form-data – mccannf
:) Ich kam von dieser Seite. Ich habe diesen Code nach dem Lesen dieses Handbuchs geschrieben, aber ich habe ein Problem, dass das Formular synchron gesendet wird, nicht als AJAX. Das 'data.submit();' wird nicht über AJAX ausgeführt – static
Anstatt Dateiupload für ein Eingabefeld zu erstellen, sollten Sie Ihre Eingaben in ein Formular schreiben und ein Dateiupload mit der ID dieses Formulars erstellen. – mccannf