转载
[b]问题描述:[/b]应用中的一个表单回车后会提交,但不执行button中的onclick,需要禁用回车提交。
[b]产生原因:[/b]在只有一个控件的FORM中,按回车会提交FORM。在这段程序中,会导致不执行button中的onclick中的JS代码,引起相应错误。
[b]注意[/b]:多于一个控件,回车不会提交。
[b]解决:[/b]
方法一:直接在form的onsubmit方法,因为是自己的方法,无论点击还是回车都会验证。
方法二:
注:因firefox里不支持event.keyCode,所以改成
οnkeypress="if(event.keyCode==13||event.which==13){return false;}"实现。
firefox中用event.which捕获用户操作,而且不能设置值,只能取值,所以不能写event.which=0
方法三:
引用的地方:
[b]问题描述:[/b]应用中的一个表单回车后会提交,但不执行button中的onclick,需要禁用回车提交。
[b]产生原因:[/b]在只有一个控件的FORM中,按回车会提交FORM。在这段程序中,会导致不执行button中的onclick中的JS代码,引起相应错误。
[b]注意[/b]:多于一个控件,回车不会提交。
[b]解决:[/b]
方法一:直接在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,所以改成
οnkeypress="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()"/>