2011-09-13 2 views
1

추가 버튼을 클릭하면 브라우저 (크롬)가 충돌합니다.브라우저가 다운 됨 - Ajax에 배열 배열로 표시됨 (PHP)

tickbox (value) 배열을 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

나는 그것을했고 그것은 아약스의 원인이었다. 내가 아약스 코드를 제거하고 작동합니다 .. 왜 이해가 안 돼요 .. –

+2

이제'console.log'를 주석 처리하여 그 원인인지 확인하십시오. 그렇지 않다면'var optionsz' 라인을 주석 처리하고'var optionsz = "";'로 대체하십시오. ** 정확한 ** 라인의 범위를 좁힐 수 있는지 확인하십시오. – webbiedave

답변

1

당신은 jQuery를 객체 optionsz하지만 당신이 정말로 원하는을 보내려고 옵션이있는 양식을 직렬화하여 ajax.php 스크립트로 보냅니다.

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

양식을 serialize하지 않고 수행하는 방법은 무엇입니까? –

+1

왜 양식을 serialize하지 않으시겠습니까? 'options [] = foo & option [] = bar & option [] = baz' 입력을 반복하여 문자열을 만들 수는 있지만 serialize는 훨씬 더 깨끗합니다. –

관련 문제