2011-09-13 24 views
1

當我點擊添加按鈕,在瀏覽器(Chrome)墜毀。瀏覽器崩潰 - tickboxes陣列阿賈克斯(PHP)

我想tickboxes(值)的陣列發送到AJAX(PHP)。

請看下面的代碼:

<input type="checkbox" name="option[]" value="0"> Small 
<input type="checkbox" name="option[]" value="1"> Medium 
<input type="checkbox" name="option[]" value="2"> Large 
<input type="checkbox" name="option[]" value="3"> X-Large 

<input id="ButtonAdd" type="button" value="Add" /> 

的jQuery:

$("#ButtonAdd").click(function() { 
    var optionsz = $("input:checkbox[name='option\\[\\]']"); 
    $.post("ajax.php", { optionsz:optionsz }, 
    function(data) { 
    console.log(data) 
    }); 
}); 

PHP:

<?php 
print_r($_POST); 
?> 
+0

在評論/取消註釋行以查看是否可以確定錯誤發生的位置後,您發現了什麼?如果您還沒有嘗試過,請繼續操作,並讓我們知道發生了什麼。 – webbiedave

+0

我做了,它是從ajax造成的。我已經刪除了ajax代碼,它的工作..我不明白爲什麼.. –

+2

現在嘗試和註釋掉'console.log'來看看是否導致它。如果不是,請嘗試註釋掉並用'var optionsz =「」;'替換'var optionsz'行。看看你是否可以縮小導致它的**確切**線。 – webbiedave

回答

1

您正試圖發送一個jQuery對象optionsz,但你真正想做的事序列化選項所在的表單並將其發送到ajax.php腳本。

var optionsz = $(your form).serialize(); 
+0

如何在沒有序列化表單的情況下執行? –

+1

你爲什麼不想序列化表單?您可以通過循環輸入選項[] = foo&option [] = bar&option [] = baz'來手動構建字符串,但序列化更清潔 –