Javascript复选框检查
我想使用Javascript检查复选框是否已选中,如果复选框未选中,则提交表单在选中之前不会继续。下面是我的代码Javascript复选框检查,javascript,checkbox,Javascript,Checkbox,我想使用Javascript检查复选框是否已选中,如果复选框未选中,则提交表单在选中之前不会继续。下面是我的代码 <SCRIPT language=javascript> function checkAcknowledgement(checkbox){ alert(checkbox.toString()); if (checkbox.checked == false){ alert('Please read through the acknowledg
<SCRIPT language=javascript>
function checkAcknowledgement(checkbox){
alert(checkbox.toString());
if (checkbox.checked == false){
alert('Please read through the acknowledgement and acknowledge it.');
return false;
} else {
return true;
}
}
</script>
<form action="ioutput.php" method="POST">
<input name="form" type="hidden" id="form" value="true">
... some html form ...
<input type="checkbox" id="acknowledgement" value="1" /><br><br>
<input type="submit" value="submit" onclick="return checkAcknowledgement(this)"/>
</form>
功能检查确认(复选框){
警报(checkbox.toString());
如果(checkbox.checked==false){
警报('请通读确认书并予以确认');
返回false;
}否则{
返回true;
}
}
... 一些html表单。。。
无论是否选中表单,它都会返回一条警告消息,指出该表单尚未被选中,尽管我手动进行了检查。如何修复它?您必须将事件绑定到表单,而不是“提交”按钮。此外,如果要提交复选框输入,请附加名称而不是ID:
<input type="checkbox" name="acknowledgement" value="1" /><br><br>
<form action="ioutput.php" method="POST" onsubmit="return checkAcknowledgement(this)">
您正在检查是否选中了submit按钮,而它自然永远不会选中 将表单发送到函数,而不是提交按钮本身:
<input type="submit" value="submit" onclick="return checkAcknowledgement(this.form)"/>
您需要在复选框上输入名称才能找到它:
使用表单引用访问复选框:
<script type="text/javascript">
function checkAcknowledgement(frm){
var checked = frm.acknowledgement.checked;
if (!checked){
alert('Please read through the acknowledgement and acknowledge it.');
}
return checked;
}
</script>
功能检查确认(frm){
var检查=frm.Acknowledge.checked;
如果(!选中){
警报('请通读确认书并予以确认');
}
退货检查;
}
因为您在单击“提交”按钮时添加了该函数,“this”的值不是指您希望在函数中接收该函数的复选框。您可以用document.getElementById('Acknowledge')替换“this”注意,如果您添加了返回函数,并在submit按钮not on复选框上传递“this”,那么条件“checkbox.checked==false”应用于submit按钮not复选框,Rob W解决方案将解决您的问题:)
<script type="text/javascript">
function checkAcknowledgement(frm){
var checked = frm.acknowledgement.checked;
if (!checked){
alert('Please read through the acknowledgement and acknowledge it.');
}
return checked;
}
</script>