2017-02-07 58 views
2

我想提交一個包含文件上傳的動態生成表單。 爲此,我通過數據庫連接獲取表單字段。字段可以允許多個選擇的選項。形式可以是這個樣子:formData和「選擇多個」

<form> 
<input type="text" name="xyz"> </input> 
<input type="file" name="xyzfile"> </input> 
<select multiple name="..."> 
<option value="...">1</option> 
<option value="...">2</option> 
... 
<option>x</option> 
</select> 
<select name="..."> 
<option value="...">1</option> 
<option value="...">2</option> 
</select> 

不幸的是,當我使用FORMDATA-對象提交表單,只在一定的場最後選擇的選項獲取傳輸。 「多重」屬性被忽略。

這是我的代碼:

var pId = '1'; 
metaForm = $('#metaForm')[0]; 
formData = new FormData(metaForm); 
formData.append('a','saveInstance'); 
      formData.append('pId', pId); 
$.ajax({ 
        type: 'POST', 
        url: 'x.php', 
        contentType: false, 
        processData: false, 
        data: formData, 

        success: function (response) { 
... 

當我檢查METAFORM對象時,選擇的是所有輸入屬性選擇=真。 當我使用formData構造函數時,是否有一個選項沒有看到爲一個選擇字段獲取所有選定的條目? 我必須使用formData.append()手動執行此操作嗎?如果是這樣,我如何確保在使用構造函數和append()時不會得到任何重複項?

這有點令人困惑。

+2

這裏僅舉你的''