`

表单回车跳过验证

阅读更多
转载
问题描述:应用中的一个表单回车后会提交,但不执行button中的onclick,需要禁用回车提交。
产生原因:在只有一个控件的FORM中,按回车会提交FORM。在这段程序中,会导致不执行button中的onclick中的JS代码,引起相应错误。
注意:多于一个控件,回车不会提交。

解决:
方法一:直接在form的onsubmit方法,因为是自己的方法,无论点击还是回车都会验证。
<form name="form1" id="form1" action="act.php" method="post" 
     onsubmit="myfn();return false;">


方法二:
<form id="phoneValidateForm" action="a.do" method="post">
  在此输入验证码:
   <input name="validateCode"  id="validateCode" type="text" size="7" maxlength="6"    onkeypress="if(event.keyCode==13||event.which==13){return false;}" >
   <input type="button" value="验 证"   onclick="js代码" />
</form>

注:因firefox里不支持event.keyCode,所以改成
onkeypress="if(event.keyCode==13||event.which==13){return false;}"实现。
firefox中用event.which捕获用户操作,而且不能设置值,只能取值,所以不能写event.which=0

方法三:
function KeyDown() { 
    // 当按下“回车键”时执行Submit事件 
    if (window.event.keyCode == 13){                                     
        document.getElementById("ic").onclick);             
     }  
} 

引用的地方:
<input name="ticket" id="ti" class="input1" size="4" onkeydown="KeyDown()" > 

<img id="ic" src="<%=request.getContextPath()%>/images/pic025a.gif" width="62" height="22" onClick="return toform()"/>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics