有时候我们需要对一个表单写一些js的验证,当点击submit按钮时,进行验证,若验证失败,我们想通过return false的方法来终止表单继续提交,停留在当前页或者当前弹出页。但有时候我们会发现,及时返回return false,表单还是会继续提交,这是为什么呢?
示例:@using (Html.BeginForm("controller", "action", FormMethod.Post))
{
。。。。。。。
<td><button type="submit" id="Submit">保存</button></td>
}
我们若为submit按钮加上click事件,在click事件中验证数据并返回true或false,这时这个true或false仅仅是一个返回值而已,并没有任何处理。
我们可以这样更改(Html.BeginForm("controller", "action", FormMethod.Post, new { onsubmit = "return 自定义的函数名()" })),这时,它需要这个函数必须有一个bool类型的返回值,若返回值为false则终止表单提交,若返回值为true则继续提交。