当前位置:  开发笔记 > 编程语言 > 正文

Enter按钮不提交表单(IE ONLY)ASP.NET

如何解决《Enter按钮不提交表单(IEONLY)ASP.NET》经验,为你挑选了2个好方法。

我有一个带有文本框和按钮的表单.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所说的内容,它完美无缺.



1> 小智..:

只需在页面上的隐藏div中创建文本输入即可.这将绕过IE漏洞.

示例div:

    
    



2> Dillie-O..:

我过去做的另一件事是将表单区域包装在Panel中,并将DefaultButton属性设置为您拥有的提交按钮.只要在面板区域中有一个焦点的表单元素,这就可以有效地将输入键映射到提交.


很高兴它奏效了.同样值得注意的是,如果页面上有多个表单(比如搜索各种选项),可以在每个表单周围包围一个面板,然后正确"映射"正确的提交按钮.
推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有