您的位置:首页 > 其它

IE和FireFox按回车自动提交表单问题解决

2010-09-03 18:44 567 查看
在web开发中,通常有按回车键提交表单的情况,我们一般是写个onkeydown事件,然后在函数中进行相应处理,如果是回车键,则提交,代码如下:

<html>
<head>
<mce:script type="text/javascript"><!--
var enterSubmit = function(){
if(event.keyCode==13){
alert("开始提交!");
}
}

// --></mce:script>
</head>
<body>
<form action="http://www.baidu.com">
<input type="text" value="按回车提交支持FireFox" onkeydown="enterSubmit()"/>
<input type="text" style="display:none" mce_style="display:none"/>
</form>
</body>
</html>
 

可是,FireFox并不捕获回车事件,所以要解决该兼容性问题,通常需要单独注册个事件,代码如下:

<html>
<head>
<mce:script type="text/javascript"><!--
window.onload = function(){
var usernameobj = document.getElementById("usernameobj");
function addEvent(el,evtType,fn) {
if (el.addEventListener) {  //FF
el.addEventListener(evtType,fn, false);
return;
}else if(el.attachEvent) {  //IE
el.attachEvent("on" + evtType,fn, false);
return;
}
}
function enterSubmit(evt){
if(evt.keyCode==13){
alert("开始提交!");
}
}

addEvent(usernameobj,'keydown',function(evt){
enterSubmit(evt);
});

}

// --></mce:script>
</head>
<body>
<form action="http://www.baidu.com">
<input id="usernameobj" type="text" value="按回车提交支持FireFox" />
<input type="text" style="display:none" mce_style="display:none"/>
</form>
</body>
</html>
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息