c# - 关注 TextBox 正在使用 C# .net 触发 PageLoad

标签 c# javascript .net focus autopostback

我有一个函数,当按下回车键时,通过表单上的 JS 将焦点设置到下一个字段:

function pressEnter(obj, e) {
    var key = e.keyCode ? e.keyCode : e.which;
    if (key === 13) {
        var total = document.forms[0].elements.length;
        for (var i = 0; i < total; i++) {
            if (obj.id == document.forms[0].elements[i].id) {
                index = i + 1;
                while ((document.forms[0].elements[index].type == "hidden" || document.forms[0].elements[index].nodeName == "FIELDSET" || document.forms[0].elements[index].disabled == true)) {
                    index++;
                    if (document.forms[0].elements[index] == null)
                        return;
                }
                $('#' + document.forms[0].elements[index].id).focus();
                break;
            }
        }
    }
}

在 BODY 标签中,我有以下脚本:onkeypress = "var key = event.keyCode? event.keyCode: e.which; return (key!= 13);",以避免在 [Enter] 时出现被按下

正常运行,如果我设置 [TextBox1 autoPostBack=false] [TextBox2 autoPostBack=false]。输入TextBox1,[回车],TextBox2获得焦点,触发body的onkeypress事件。

很好。

问题来了

如果我设置[TextBox1 autoPostBack=false] [TextBox2 autoPostBack=true] 当textBox2获得焦点时,刷新页面,执行post,不触发body的onkeypress事件。 它没有在 TextBox2 中键入任何内容。我希望 AutoPostBack = true 的 TextBox 在输入值并运行 onBlur 之前不会发布或刷新屏幕。

详细说明,如果按TAB键,不会出现这个问题,只是在通过JS编程设置焦点时。

如果有人能向我解释原因,我将不胜感激。

塔西斯 - 瓦鲁瓦

最佳答案

你需要有 <form onsubmit="return false;">对于此处提到的表格:How to prevent ENTER keypress to submit a web form?

关于c# - 关注 TextBox 正在使用 C# .net 触发 PageLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6231524/

相关文章:

javascript - asp.net jquery新手问题

c# - Linq 中的 lambda/方法语法中的左外连接

c# - COM+ 调用远程实例中的方法未知名称错误

javascript - IOS HTML Canvas 或 CSS3 3D 转换

.net - TypeAccessException : Attempt by method . .. 访问类型 ... 失败

c# - R# : Stop it touching ghostdoc XML comments on Code Cleanup?

c# - 使用 DataContractSerializer 自定义序列化

c# - 如何枚举类声明的所有事件?

c# - 如何最好地处理包含 0 到 3 个参数/过滤器但使用单个 LinQ to Entities 表达式的搜索查询

javascript - Firebase AngularFire $保存不需要的结果