dotxxh0998 2013-12-30 21:07 采纳率: 0%
浏览 50
已采纳

Javascript onChange checkBox

Ok guys so I am hopelessly new to Javascript. I have been doing good so far. But I can't seem to figure out what the issue is here. I am trying to send some data to a php file via GET to change some data on the database when you check the checkbox. Here's the code.

<?
$comple = $tasking['status'];
if($comple=="complete"){
?>
<input type="checkbox" name="<? echo $tasking['id']; ?>" checked="true"
onchange="change()"> <? echo $tasking['detail']; ?><br>
<?
}
else{
?>
<input type="checkbox" name="<? echo $tasking['id']; ?>" onchange="change()"> <? echo 
$tasking['detail']; ?><br>
<?
}
?>



<script>
function change(){
var id = document.getElementById(this).name;
var ch = document.getElementById(this).checked;
var sendto = 'changetask.php?id=' + id + '&&ch=' + ch;
if(window.XMLHttpRequest){
  xmlhttp = new XMLHttpRequest();
  xmlhttp.open("GET",sendto,false);
  xmlhttp.send(null);
}
else{
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.open("GET",sendto,false);
  xmlhttp.send();
}

}
</script>

展开全部

  • 写回答

2条回答 默认 最新

  • douding6266 2013-12-30 21:31
    关注

    Try this

    Demo : http://jsbin.com/obiFisIL/1/edit

    ur html code should be

    <input type="checkbox" name="<? echo $tasking['id']; ?>" checked="true"
    onchange="change(this)"> <? echo $tasking['detail']; ?>
    

    In ur html I added "this" in onchange function as parameter.....

    ur js should be

    function change(dis){
    var id = dis.name;
    var ch = dis.checked;
    -----
    

    Full code

    <?
    $comple = $tasking['status'];
    if($comple=="complete"){
    ?>
    <input type="checkbox" name="<? echo $tasking['id']; ?>" checked="true"
    onchange="change(this)"> <? echo $tasking['detail']; ?><br>
    <?
    }
    else{
    ?>
    <input type="checkbox" name="<? echo $tasking['id']; ?>" onchange="change(this)"> <? echo 
    $tasking['detail']; ?><br>
    <?
    }
    ?>
    
    
    
    <script>
    function change(dis){
    var id = dis.name;
    var ch = dis.checked;
    var sendto = 'changetask.php?id=' + id + '&&ch=' + ch;
    if(window.XMLHttpRequest){
      xmlhttp = new XMLHttpRequest();
      xmlhttp.open("GET",sendto,false);
      xmlhttp.send(null);
    }
    else{
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      xmlhttp.open("GET",sendto,false);
      xmlhttp.send();
    }
    
    }
    </script>
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部