0
使用Ajax,可以使用以下發送的部分數據爲形式的數據ajax-局部形式數據提交
$("#CreateForm").find("#form-section-1").find('input, textarea, select').serialize()
試圖用相同的API FORMDATA -
new FormData($('form#CreateForm')[0])
這確實但是不行 -
var formdata = new FormData($('form#CreateForm').find("#form-section-1").find('input, textarea, select'))
由於下面循環沒有給出結果 -
for (var pair of formdata.entries()) {
console.log(pair[0]+ ', ' + pair[1]);
}
怎樣才能以緊湊的形式提交部分形式的數據與FormData API像序列化?
編輯: 在接受溶液中,我不得不進一步增加這一條件下特別是文件 -
if($(this).is(':input:file')) {
formData.append(this.name, $(this)[0].files[0]);
} else {
formData.append(this.name, $(this).val());
}
這也適用於類型文件的輸入字段?因爲它似乎沒有完全通過。 – fortm
我修改了一些文件,現在它工作。在for循環 - >如果($(本)。是( ':輸入:文件')){\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t formData.append(這一點。名稱,$(this)[0] .files [0]); \t \t \t \t \t \t \t \t \t}其他{ \t \t \t \t \t \t \t \t \t \t formData.append(this.name,$(本).VAL()); \t \t \t \t \t \t \t \t \t} – fortm
你做了什麼是正確的。 'this.files [0]'也可以用作$(this)[0]'== this'。 – Mikey