目前創建FormData
對象時,選中的複選框中加入的「上」的值,並且未選中的複選框完全不通過。FORMDATA和複選框
難道我有一些隱藏的輸入正確設置複選框砍,或者是有一些定製我可以FORMDATA,或預先處理呢?
我寧願一個選中的複選框爲1和一個未經檢查的爲0。我已經可以做到這一點我自己(即醜陋的黑客攻擊),但我看不出有任何FORMDATA本機方法。
目前創建FormData
對象時,選中的複選框中加入的「上」的值,並且未選中的複選框完全不通過。FORMDATA和複選框
難道我有一些隱藏的輸入正確設置複選框砍,或者是有一些定製我可以FORMDATA,或預先處理呢?
我寧願一個選中的複選框爲1和一個未經檢查的爲0。我已經可以做到這一點我自己(即醜陋的黑客攻擊),但我看不出有任何FORMDATA本機方法。
當前創建FormData對象時,選中的複選框添加值爲「on」,未選中的複選框完全不會被傳遞。
on
如果該複選框是缺少value
屬性
做的僅僅是使用我有一些隱藏的輸入破解正確設置複選框
號這是正確處理複選框。這是他們如何在窗體中工作,因爲表單元素已被添加到HTML中。
試驗在處理它的代碼的存在或不存在的複選框的。
好處理它是'變種FD =新FORMDATA(myForm的)代碼;' – BarryBones41
我的意思是處理服務器端代碼HTTP請求您使用的XMLHttpRequest和'fd'可能創造。 – Quentin
這是一個嵌入式系統,我不能改變服務器代碼。我只會使用隱藏的輸入。 – BarryBones41
試試這個:
var checkbox = $("#myForm").find("input[type=checkbox]");
$.each(checkbox, function(key, val){
if(this.is(":checked")){
formData.append($(val).attr('name'), true);
}else{
formData.append($(val).attr('name'), false);
}
});
您可以隨時撥打的'FormData'手動對象'set'。否則,它的行爲與HTML表單完全相同。 –
而不是添加隱藏的輸入,在服務器上進行處理。如果複選框值爲'on',則轉換爲1,如果複選框值爲空白或null轉換爲0.複選框值是由瀏覽器驅動的,因此您無法更改它。您可以添加額外的屬性。 – Jigneshk