我有一个带有文本框和按钮的表单.IE是唯一一个按下Enter键时不提交表单的浏览器(适用于FF,Opera,Safari,Chrome等).我发现这个javascript函数试图哄骗IE进行表现; 但无济于事:
function checkEnter(e){ var characterCode if (e && e.which) { e = e characterCode = e.which } else { e = event characterCode = e.keyCode } if (characterCode == 13) { document.forms[0].submit() return false } else { return true } }
执行:
searchbox.Attributes("OnKeyUp") = "checkEnter(event)"
有什么建议?
编辑: CodeProject上的这个页面概述了Dillie所说的内容,它完美无缺.
只需在页面上的隐藏div中创建文本输入即可.这将绕过IE漏洞.
示例div:
我过去做的另一件事是将表单区域包装在Panel中,并将DefaultButton属性设置为您拥有的提交按钮.只要在面板区域中有一个焦点的表单元素,这就可以有效地将输入键映射到提交.