|
经常上网的网友们都知道,我们在网页上填写表单的时候,就是当填完了最后一项后,一般情况下都会按回车提交。
比如一个用户登录页面,以前我在最后一个文本框中添加了这样的脚本:
txtPwd.Attributes.Add("onkeydown", "if(event.keyCode==13) event.keyCode=9;");
然后在登录按钮加上:
btnLogin.Attributes.Add("onfocus", "this.click();");
也就是说先把回车键换成tab键,在登录按钮获取焦点后自动点击。这种方法虽然不是很完美,但在IE下确实还是有用的,可是拿到Firefox下就不行了,因为在Firefox下,keyCode是只读的,并不能通过脚本改变。
后来在网上找到这样一段脚本:
function doClick(linkId, e){ var e=(typeof event!='undefined')?window.event:e; if(e.keyCode != 13){ return; } var fireOnThis = document.getElementById(linkId) if (document.createEvent) { var evObj = document.createEvent('MouseEvents') evObj.initEvent( 'click', true, false ) fireOnThis.dispatchEvent(evObj) } else if (document.createEventObject) { fireOnThis.fireEvent('onclick') } } 这段脚本的作用是,当用户按下回车键时,触发指定的按钮,而不是自动加载页面,然而,在测试的时候,Firefox的确好用,但是在IE下不知为啥不灵了。我不知道这段脚本中哪句话IE不认识,有哪位网友知道的话,请留言,欢迎大家交流!
|