文本框获得焦点但您无法输入任何内容

时间:2009-06-17 22:24:53

标签: asp.net gridview textbox focus

我有一个ASP.NET网格视图,在页脚行中有数据条目文本框。在用户添加行之后,我使用gridview更新处理程序中的Textbox1.focus()重置焦点到代码隐藏中的第一个文本框。问题是,虽然看起来文本框得到了焦点(光标在文本框中闪烁),但是在单击表单上的另一个文本框然后单击后,您才能输入任何内容。这似乎只发生在IE8中。当我在firefox中测试它时,文本框得到了关注,我能够正确地输入新文本。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

仍然没有找到解决方案,但我注意到当IE8处于兼容模式时,文本框按预期运行。这是我遇到的与IE8兼容模式有关的第三个问题。

答案 1 :(得分:0)

我有类似的问题,更新面板中的文本框不允许用户进行交互,尽管看起来有焦点,直到失去焦点并将其取回。与原始海报一样,它只发生在非兼容模式的IE8中。

我实现了以下解决方法,似乎可以解决这个问题:

ScriptManager.GetCurrent(Me.Page).SetFocus(txtAnotherTextBox)
ScriptManager.RegisterStartupScript(Me, Me.GetType, "Focus", _
"setTimeout(function() { document.getElementById('" _
& txtTextBox.ClientID & "').focus(); }, 200);", True)

基本上,我最初专注于不同的控件,然后注册一个脚本,专注于我想要的控件,延迟时间为200ms。