input 回车键提交与不提交表单的解决方法

最近遇到IE6/7下敲击回车后表单不提交的问题,网上找到些资料,备案下:

 

回车键提交表单:设置 <input /> 标签或者 <button> 标签的属性 type="submit" 即可。

回车键不提交表单,用JavaScript来解决,具体代码如下:

document.getElementsByTagName('form')[0].onkeydown = function(e){
    var e = e || event;
    var keyNum = e.which || e.keyCode;
    return keyNum==13 ? false : true;
};


分析:

如果按钮用 <input /> 标签,标签的 type="submit" ,IE6、7、8、Firefox回车时均提交。

如果按钮用 <input /> 标签,标签的 type="button" ,

1 没有 <input type="text" value="" /> 回车均不提交。
2 有一个 <input type="text" value="" /> , IE6、7下焦点在何处回车均不会提交,IE8、只有焦点在 <input type="text" value="" /> 上时回车才会提交, Firefox均回车会提交。
3有多个 <input type="text" value="" /> ,IE6、7、8、Firefox均不会提交。

如果按钮用 <input /> 标签,标签的 type="" ,E6、7、8、Firefox均会默认为 type="text" 。

如果按钮用 <button> 标签,标签的 type="submit" ,E6、7、8、Firefox回车时均提交。

如果按钮用 <button> 标签,标签的 type="button" ,

1 没有 <input type="text" value="" /> 回车均不提交。
2 有一个 <input type="text" value="" /> , IE6、7下焦点在何处回车均不会提交,IE8、只有焦点在<input type="text" value="" />上时回车才会提交, Firefox均回车会提交。
3 有多个 <input type="text" value="" /> ,IE6、7、8、Firefox均不会提交。

如果按钮用 <button> ,标签的 type="" ,IE6、7下默认的 type="button" ,IE6、7下焦点在何处回车均不提交,IE8、Firefox默认为 type="submit" ,IE8、Firefox均回车会提交。


====================


或者直接在form中写

<html>
<head>
<title>禁止按回车键提交表单</title>
</head>
<body>
<form name="myform" action="" onkeydown="if(event.keyCode==13){return false;}">
<input type=text name=user>
<input type=text name=pass>
<input type=button name=mybutton value=submit onclick=myform.submit()>
</form>
您可以在"myform.submit()"函数里加入表单判断,和一般的表单判断一样,只是改一下函数名。
</body>
</html>


转载于:https://my.oschina.net/u/2444569/blog/536971

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值