2013-02-15 2 views
0

이 문제를 해결하기 위해 며칠을 노력하고 있지만 결과는 아직 없습니다.
내가 원하는 것은 PHP에 대한 체크 박스 값입니다. 사용자가 확인하거나 선택을 취소하십시오.

form.php :

<?php 
if (isset($_POST['box'])) { 
echo $_POST['box']; 
} ?> 

스크립트 :

<script> 
$(document).ready(function() { 
$('.box').on('change', function(event) { 
    var checkbox = $(event.target); 
    var isChecked = $(checkbox).is(':checked'); 
    $.post('/form.php', {id: checkbox.attr('id'), value: isChecked}); 
}); 
}); 
</script> //Credit cymen 

형태 :

<form action="form.php" method="post"> 

<input id="box" class="box" name="box" type="checkbox" value="YESSSSSS!" /> 
<input id="box" class="box" name="box" type="checkbox" value="YESSSSSS!" /> 

</form> 

(*) 나는 O를 아무 것도 얻을 수 없다 N $_POST['box']

+3

먼저 각 체크 박스의 ID는 고유해야합니다. – Elen

+0

'var_dump ($ _ POST) ' – ryder

+0

귀하의 html을 확인하십시오. ** id는 고유해야합니다 ** ** –

답변

3

당신의 자바 스크립트는 PHP에이 데이터를 제출한다 :

{id: checkbox.attr('id'), value: isChecked} 

당신은이 데이터의 두 가지가 있습니다 "ID"와 "가치". "상자"라는 데이터 조각이 없으므로 $_POST['box']이 채워지지 않습니다.

+0

당신은'{id : checkbox.attr ('box'), value : isChecked}'를 의미합니까? 그것을 시도하십시오 - 작동하지 않습니다. – wizard

+0

@wizard - 아니요. '당신이 없습니까? 그리고 그것은 여전히'id'를 제출할 것이고 당신은 데이터에서'box'를 찾고 있습니다.'id'를'$ _POST [ 'box']'로 보내고 싶다면'{box : ...'. – Quentin

+0

- 합리적이지만 변경 후에도 작동하지 않습니다. – wizard

0

당신이 form.php로 보낸 $ _POST 배열은 $ _POST [ 'box']를 보지 않습니다. 그것은 다음과 같습니다

array(2) {["id"]=>string(3) "box" ["value"]=> string(4) "true"} 

그래서 당신은 Thist 관련 $ _POST [ 'ID'] 또는 $ _POST [ '값'] 같은 바르 얻을 수 있습니다. 당신은 JS에서 다음과 같은 조각을 선언하고 있습니다 : {id : checkbox.attr ('id'), value : isChecked}.

var_dump를 사용하여 vars에있는 것을 PHP로 확인하는 것이 좋습니다. var_dump ($ _ POST).

FF로 Firebug 플러그인을 사용하여 AJAX를 디버깅합니다.

0

I가 변경됩니다 : PHP는 측면에서

$.post('/form.php', {name: checkbox.attr('name'), checked: isChecked, value : checkbox.val()}); 

당신은받을 것이다 :

Array 
(
    [name] => box 
    [checked] => true 
    [value] => YESSSSSS! 
) 

은 당신이 좋아하는 POST 데이터에 액세스 할 수 있습니다 :

echo $_POST['name']; // box 
echo $_POST['checked']; // true/false 
echo $_POST['value']; // YESSSSSS! 

그것은 당신이 중요 POST 요청에 선택란 값을 포함 시키십시오. 이는 변경된 선택란을 식별하는 유일한 f}이기 때.입니다.

+0

불행히도 여전히 작동하지 않습니다 .... 모든 것이 올바른 위치에있는 것처럼 보입니다. – wizard