HTML页⾯禁⽤Enter键⾃动提交表单的⽅法
在HTML页⾥⾯由于使⽤了form,常常需要禁⽤enter提交表单。因为内容页或者母版页⾃⾝有如果有type="submit"的button,当textbox聚焦时,按下enter都会触发表单的默认提交(不论是IE还是firefox),于是需要在onkeydown中监听⽤户的按键。实际测试,IE8中导致表单提交的不确定因素太多,点击表单的table中的td都会触发表单提交,⽽firefox则不会;于是在ie和ff 中禁⽤表单提交需要不同的思路。
对于IE:
只有当事件源是TEXTAREA时才return true,允许默认动作;其他元素全部return false,禁⽌表单提交和任何响应。
对于firefox:
只有当事件源是INPUT时才return false禁⽌表单默认动作;⽽其他元素则return true允许默认动作,⽐如textarea的多⾏输⼊。
于是完整的代码如下:
<mce:script language="javascript" type="text/javascript"><!--
//禁⽤Enter键表单⾃动提交
var target, code, tag;
if (!event) {
event = window.event; //针对ie浏览器
target = event.srcElement;
code = event.keyCode;
if (code == 13) {
tag = target.tagName;
if (tag == "TEXTAREA") { return true; }
else { return false; }
}
}
else {
target = event.target; //针对遵循w3c标准的浏览器,如Firefox
code = event.keyCode;
if (code == 13) {
tag = target.tagName;
if (tag == "INPUT") { return false; }
else { return true; }
}
}
};
// --></mce:script>
将上述的javascript代码应⽤于需要禁⽤Enter键⾃动提交表单的页⾯,经测试IE,Firefox和Chrome浏览器都完美解决Enter键⾃动提交表单问题。
html中提交表单用什么属性以上这篇HTML页⾯禁⽤Enter键⾃动提交表单的⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论