我已经在表单提交上添加了验证检查,但问题是它阻止了表单的提交,但它也重置了我的整个表单。请告诉我如何在return false
上停止表单提交并停止重置整个表单。感谢
function error()
{
if (!$("#form1 input[name='radio']:checked").val()) {
alert('Error: Please select any check box!');
return false;
}
else {
//alert('One of the radio buttons is checked!');
}
}
<form name="form1" id="form1">
<input name="Name" type="text" id="name" size="70" />
<input name="Age" type="text" id="age" size="70" />
<input type="radio" name="radio" id="A18" value="18" />
<input type="radio" name="radio" id="A19" value="19" />
<input type="submit" onclick="error();" />
</form>
答案 0 :(得分:2)
您需要做的不仅仅是从函数中返回false
:
<input type="submit" onclick="return error();" />
因为“onclick”属性的值基本上用作实际处理函数的主体,所以它需要自己的return
语句。
编辑 - 梅加尔的回答是一个好主意 - 处理表单上的“提交”事件而不是按钮上的“点击”事件是明智的。如果你在他的例子中通过jQuery设置事件处理程序,那么“error”函数中的return
就是你所需要的。
答案 1 :(得分:2)
您需要使用验证功能处理表单的submit
事件,并返回false
:
$("#form1").submit(error);
从submit
处理程序返回false将取消表单提交,并且将保留表单元素的当前状态。