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()時不會得到任何重複項?
這有點令人困惑。
這裏僅舉你的''
你是對的!我沒有想到這一點。您的評論其實是答案,謝謝! – DCH
@Kaiido,儘管答案與其他問題基本相同,但我不同意這個問題是完全重複的。另一個問題是關於複選框,這是關於多選;因爲我想知道如何解決這個問題,所以在這個問題的背景下,你的一個句子回答對我來說比對另一個問題的答案要好得多。 – peregrination