dotxxh0998 2013-12-31 05:07
浏览 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-31 05: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条)

报告相同问题?

悬赏问题

  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答