<script>
function no_email_confirm() {
if (document.getElementsByName("no_email")[0].checked == false) {
return true;
} else {
var box= confirm("Sure?");
if (box==true)
return true;
else
document.getElementsByName("no_email")[0].checked == false;
}
}
</script>
这是我的HTML复选框:
<input type="checkbox" id="no_email" name="no_email" onchange="no_email_confirm()"></input>
出于某种原因,这会在我第一次选中该框时弹出确认,但之后没有任何点击。此外,即使我单击“取消”,它仍然会选中复选框。我在这里搜索过,出于某种原因,无论我尝试什么,我都无法让它正常工作。
它应该确认他们是否真的要检查框,如果他们选择“是”然后检查它,如果没有,那么它不会检查它。我可以让它在没有名称no_email的情况下工作,但我无法改变它......
有人有什么想法吗?
答案 0 :(得分:1)
看起来你有几个错误,最明显的是当你可能意味着==
时使用=
。相反,添加一个事件监听器并确保分配工作:
var box = document.querySelector('#no_email');
box.addEventListener('change', function no_email_confirm() {
if (this.checked == false) {
return true;
} else {
var confirmation= confirm("This means that the VENDOR will NOT RECEIVE ANY communication!!!!");
if (confirmation)
return true;
else
box.checked = false;
}
});