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

samgui(三桂)

最近遇到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均回车会提交。

参考:http://www.joywebsite.com/2010/04/submit-or-donot-submit-form-on-enter-button/