javascript焦点功能无法按预期工作

时间:2013-03-04 12:45:13

标签: javascript html css

我有一个jsp / html页面。这个页面可以从两个不同的链接访问。 它是Menu1 - > demo.html页面,从Menu2 - > demo.html页面(在我的情况下是它的jsp) 在demo.html页面中,我有一个默认禁用的文本框。

<input class="mytextinputtextField" type="text" id="countryOfOrigin"
readonly style="background-color:#DCDCDC"   />

现在,当从Menu2访问demo.html页面时,我正在使用隐藏参数进行检查,并再次启用文本框并将焦点设置在文本框中。

if(document.getElementById("submenu_name").value=="PM")
{
   document.getElementById("countryOfOrigin").focus();
}

该字段已启用且光标可见但如果我键入文本,则不会在文本框中键入。 我需要单击文本框才能输入文本。 我认为这是因为残疾人再次启用该领域。 任何人都可以帮助我从javascript中输入焦点事件的文本框。 我没有使用JQuery,浏览器是I.E 6

4 个答案:

答案 0 :(得分:0)

试试这个:

document.getElementById("countryOfOrigin").removeAttribute('readOnly');

jQuery版本:

jQuery('#countryOfOrigin').removeAttr('readOnly');

答案 1 :(得分:0)

您是否尝试删除该属性?

document.getElementById("countryOfOrigin").Attributes.Remove("readonly");

document.getElementById("countryOfOrigin").removeAttribute("readonly");

答案 2 :(得分:0)

感谢您的帮助。 我找到了解决方案或可能会说解决方法。 我正在粘贴可能对其他人有用的代码

if(document.getElementById("submenu_name").value=="PM")
{
 document.getElementById("countryOfOrigin").focus();
 document.getElementById("countryOfOrigin").select();

}

答案 3 :(得分:-1)

这是一个非官方的解决方案,我们必须使用setTimeout()函数来延迟focus()执行时间。

setTimeout(function() { document.getElementById('myInput').focus(); }, 10);

请参阅http://www.mkyong.com/javascript/focus-is-not-working-in-ie-solution/