2013-08-16 2 views
1

페이지로드없이 다음 코드에서 체크 박스 값을 가져 오는 데 문제가 있습니다. 확인란을 클릭하면 배열 변수 check을 통해 값을 전달할 수 있습니다. ,AJAX를 사용하여 페이지로드없이 체크 박스 값 받기

<script src="create_ajax_object.js" type="text/javascript"></script> 
<script language="javascript" type="text/javascript"> 
function display() { 
    var ajax = create_ajax_object(); 
    if (ajax) { 
     ajax.onreadystatechange = function() { 
      if (ajax.readyState == 4 && ajax.status == 200) { 
       document.getElementById("target").innerHTML = ajax.responseText; 
      } 
     } 
     ajax.open("POST", "fetchdata.php", true); 
     var check = new Array(); 
     var "check[]=" + encodeURIComponent(document.myForm.user.value); 
     ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
     ajax.send(check[]); 
    } else { 
     alert("Your browser doesnt support AJAX!"); 
    } 
} </script> 
<br> 
<form name='myForm'> 
    <input type="checkbox" name="user" value="First" onclick="display();">1 
    <br> 
    <input type="checkbox" name="user" value="Second" onclick="display();">2 
    <br> 
    <input type="checkbox" name="user" value="Third" onclick="display();">3 
    <br> 
</form> 

</html> 

fetchdata.php

<?php 
$no=array($_POST['check']); 
foreach($no as $n) 
{ 
    print_r($n); 
} 
?> 
+0

구문 오류를 수정하십시오 :'var "check [] ="+ ...'는 유효한 명령문이 아니므로'var' 다음에 변수 이름과 대입 연산자가 필요합니다. – Barmar

답변

0

변수 document.myForm.user 확인란의 배열 객체입니다

index.html을 : 나는 체크 박스를 클릭 할 때마다하지만 여기 " Array ([0] => undefined)".

내 코드 얻을 이를 반복하고 각 요소의 속성을 checked 확인해야합니다.

+0

안녕하세요, Marek iam 프로그래밍에 익숙하지 않습니다. 코딩으로 설명해주십시오. –

+0

일부 js 라이브러리를 사용하면 더 좋을 것입니다. 예를 들어 jQuery를 사용하면 $ .post ('fetchdata.php', $ ('form [name = "myForm"]')와 같은 간단한 작업이 가능합니다 .. serialize(), function (data) {$ ('# target') .html (데이터);}); – Marek

+0

Hi Barmer, marek 여전히 개선 된 부분이 없습니다. :(하나의 체크 박스를 사용하면이 방법이 작동합니다) ...하지만 여러 확인란의 경우에는 변경 사항이 없습니다 .. :(제발 도와주세요. –