使用AJAX在没有页面加载的情况下获得复选框值

时间:2013-08-16 07:42:21

标签: php ajax

我在以下代码中获取复选框值时遇到问题(没有页面加载)。 如果单击复选框,则值可以通过数组变量check传递。但每当我点击复选框时,我都会" Array ( [0] => undefined )".

这是我的代码:

的index.html

<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);
}   
?>

1 个答案:

答案 0 :(得分:0)

变量document.myForm.user是复选框对象的数组,您必须迭代它并检查每个元素的checked属性。