我想提交一個窗體與jQuery的$ .ajax()函數,它的工作原理,除了它只發送最後幾個複選框的值,不管我檢查多少。如果有人能告訴我我做錯了什麼,我會很感激。提前致謝!jQuery Ajax窗體只發送最後幾個複選框值
HTML表單:
<form name="contactFormSmall" id="contactFormSmall" action="" method="post">
<input type="text" name="textfieldname" value="textfieldvalue" />
<input type="checkbox" name="checkboxes" value="Testvalue One" checked="checked" />
<input type="checkbox" name="checkboxes" value="Testvalue Two" checked="checked" />
<input type="checkbox" name="checkboxes" value="Testvalue Three" checked="checked" />
</form>
這裏的jQuery的處理形式:
var fields = $(":input").serializeArray();
$.ajax({
type: "POST",
contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",
url: "includes/contact_process_small.php",
data: fields,
success: function(data) {
$('#contactFormSmall').hide();
$("#formFeedback").html(data).show();
}
});
,這裏是從print_r的在PHP腳本的結果($ _ POST):
Array
(
[textfieldname] => textfieldvalue
[checkboxes] => Testvalue Three
)
謝謝!我知道你必須用PHP來做到這一點,但我想我認爲jQuery會以某種方式處理它。 – Skumberg 2011-12-22 14:55:12
這就是HTML的工作原理:每個名稱都作爲變量在POST請求中發送,並且如果多個輸入元素具有相同的名稱,它將被覆蓋。 – Viruzzo 2011-12-22 15:42:47