停止表单提交并保留表单值

时间:2013-04-21 13:29:29

标签: javascript jquery html

我已经在表单提交上添加了验证检查,但问题是它阻止了表单的提交,但它也重置了我的整个表单。请告诉我如何在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>

2 个答案:

答案 0 :(得分:2)

您需要做的不仅仅是从函数中返回false

<input type="submit" onclick="return error();" />

因为“onclick”属性的值基本上用作实际处理函数的主体,所以它需要自己的return语句。

编辑 - 梅加尔的回答是一个好主意 - 处理表单上的“提交”事件而不是按钮上的“点击”事件是明智的。如果你在他的例子中通过jQuery设置事件处理程序,那么“error”函数中的return就是你所需要的。

答案 1 :(得分:2)

您需要使用验证功能处理表单的submit事件,并返回false

$("#form1").submit(error);

submit处理程序返回false将取消表单提交,并且将保留表单元素的当前状态。