<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 -->
Jak mogę zintegrować JQuery Upload Plugin w taki sposób, że po wybraniu pliku z filechose_button
mogę włączyć upload_button
i przesłać wszystko pola wejściowe i pliki za pomocą AJAX, a nie jak teraz działa po prostu przeładowanie strony po żądaniu POST.
js do przesłania to:
$(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.');
}
});
});
ale nadal nie wysyła dane za pomocą AJAX
umiszczanie plików można użyć do przedstawienia zarówno FileUpload i dodatkowe dane forma: https://github.com/blueimp/jQuery-File-Upload/wiki/How-to-submit-additional -form-dane – mccannf
:) Pochodzę z tej strony. Napisałem ten kod po przeczytaniu tego podręcznika, ale mam problem, że formularz zostanie wysłany synchronicznie, nie jako AJAX. Funkcja 'data.submit();' nie jest wykonywana przez AJAX – static
Zamiast tworzyć fileupload na polu wejściowym, powinieneś owijać swoje dane wejściowe w formularz i tworzyć pliki zgodnie z id tego formularza. – mccannf