复选框未取消选中

checkbox not getting unchecked

本文关键字:取消 复选框      更新时间:2023-09-26

我有 4 个复选框,在 ajax 的帮助下,我在选中时插入数据与在未选中时删除数据之间切换。我能够成功插入数据,但问题出在第一个复选框中,因为一旦选中就无法取消选中它

<form>
<fieldset>
<input id="prof" type="checkbox" onclick="insdel('Cricket')" value="Cricket" /><span>Cricket</span>
<input id="prof" type="checkbox" onclick="insdel('Football')" value="Football" /><span>Football</span>
<input id="prof" type="checkbox" onclick="insdel('Hockey')" value="Hockey" /><span>Hockey</span>
</fieldset>
</form>

这是我的JavaScript

function insdel(answer) {
if(document.getElementById("prof").checked = true){
document.forms["t"]["ttq"].value= answer;
if((document.forms["t"]["ttq"].value)!=""){
var xmlhttp;    
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("list").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","pop.php?q="+answer,true);
xmlhttp.send();
}
}
else{
document.forms["t"]["ttq"].value= answer;
if((document.forms["t"]["ttq"].value)!=""){
var xmlhttp;    
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("list").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","del.php?q="+answer,true);
xmlhttp.send();
}
}
}

提前致谢

尝试此示例代码以使其清晰

var insdel = function(chk) {
  console.log(chk.value, chk.checked, chk.id);
  if (chk.checked) {
    console.log('insert ', chk.value);
    //do the rest
  } else {
    console.log('delete ', chk.value);
    //do the rest
  }
  //do the rest
};
<form>
  <fieldset><!-- updated ids, also the onclick parameter -->
    <input id="prof1" type="checkbox" onclick="insdel(this)" value="Cricket" /><span>Cricket</span>
    <input id="prof2" type="checkbox" onclick="insdel(this)" value="Football" /><span>Football</span>
    <input id="prof3" type="checkbox" onclick="insdel(this)" value="Hockey" /><span>Hockey</span>
  </fieldset>
</form>