现在的位置: 网页制作教程网站制作经验 >正文
JavaScript脚本

按回车提交表单不经过js检测函数的解决办法

发表于2016/12/14 网站制作经验 0条评论 ⁄ 热度 2,079℃

最近遇到一个问题,给表单的输入框写了一个js检测函数,点击提交按钮,可以正常检测,可如果回车提交表单,就不经过js检测函数了。相关代码如下:

<form name="Form1" method="post" action="test.asp">
 <input name="username" type="text">
 <a href="javascript:void(0);" onclick="javascript:CkInput();return false;">提交</a>
</form>

输入检测js函数:

<script type="text/javascript">
function CkInput(){
 if(!(/^(\d{6})$/).test(document.Form1.username.value)){
  alert("请检查输入是否有误!");
  document.Form1.username.focus();
  return false;
 }
 document.Form1.submit();
 return true;
}
</script>

通过分析得知,CkInput函数是绑定在onclick事件上的。

所以只有发生鼠标点击动作才会触发CkInput检测函数,回车提交就不起作用。

解决办法很简单,在form上绑定onsubmit事件。

<form name="Form1" method="post" action="test.asp" onsubmit="CkInput()">
 <input name="username" type="text">
 <input type="submit" value="提交">
</form>

这样就解决了按回车键提交表单绕过js检测函数的问题。

  • 暂无评论