最近遇到一个问题,给表单的输入框写了一个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检测函数的问题。
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/358.html