-2
私は重複した質問が多いことを知っていました。しかし、私は形式で配列を持つ複雑な形式でアップロードする方法を知らない。 そして、このjqueryの:これは私のhtmlですファイルをアップロードするには複雑な入力フォームのjqueryとHTMLで
HTML::
<input id="pic" type="file" name="pic" />
<button id="upload">Upload</button>
JS:
$('#upload').on('click', function() {
var file_data = $('#pic').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url : 'upload.php', // point to server-side PHP script
dataType : 'text', // what to expect back from the PHP script, if anything
cache : false,
contentType : false,
processData : false,
data : form_data,
type : 'post',
success : function(output){
alert(output); // display response from the PHP script, if any
}
});
$('#pic').val(''); /* Clear the file container */
});
PHPの:
function saveDraft(){
var scope = $('#scope').val();
var secrecy = $('#secrecy').val();
var priority = $('#prio').val();
var cc = $('#cc').val();
var subject = $('#form-field-subject').val();
var msg = $('.wysiwyg-editor')[0].innerHTML;
var attachment = document.getElementById('attachment');
var refnd = $('#refnd').val();
var refarsip = $('#refarsip').val();
var from = $('#from').val();
var approval = [];
$('.approval :selected').each(function(i, selected){
approval[i] = $(selected).val();
});
var receiver = [];
$('.for :selected').each(function(i, selected){
receiver[i] = $(selected).val();
});
$.ajax({
type: 'post',
url: '<?php echo $this->baseurl; ?>/memo/saveDraft',
data: {
scope : scope,
secrecy : secrecy,
priority : priority,
from : from,
approval : approval,
receiver : receiver,
cc : cc,
subject : subject,
msg : msg,
attachment : formData,
refnd : refnd,
refarsip : refarsip
}
formDataをjQueryのデータとして設定し、現在のデータの他の値をformDataに設定する必要があります。 – jcubic
私は多くのデータから選択できますか? @jcubic –
formDataはどこにも作成しません。 formDataのインスタンスを作成し、ファイルやその他のプロパティの値を追加する必要があります。 – jcubic