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

结论:

回车键提交表单:设置 <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均回车会提交。


你可能感兴趣的:(button,回车键)