2013-03-04 59 views
2

我有一个jsp/html页面。这个页面是从两个不同的链接访问的。 它是菜单1 - > demo.html页面和Menu2 - > demo.html页面(在我的情况下它的jsp) 在demo.html页面我有一个默认情况下禁用的文本框。现在javascript的重点功能没有按预期工作

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

当demo.html页从菜单2访问,我使用的是隐藏的参数检查并重新启用文本框,并设置焦点上的文本框中。

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

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

+0

如何启用您的文本框? – leaf 2013-03-04 13:02:47

+0

document.getElementById(“countryOfOrigin”)。readOnly = false; – 2013-03-04 13:08:01

+0

这是那些属性中的一个,或者不存在,因为它成为元素的“属性”。尝试'readonly =“fred”'你会发现,它仍然是只读的:),因为它是驱动其功能的属性的“存在”。 – 2013-03-04 13:37:39

回答

-1

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

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

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

+0

。我试过这个,但没有工作。它的设置也是一样,但是当我输入它的时候没有输入。 – 2013-03-04 13:04:33

+0

使用element.disabled而不是readOnly。 如果它不起作用,请不要禁用输入,但如果您不希望启用输入,则会模糊焦点上的字段。 – JoDev 2013-03-04 13:15:14

+3

请注意,'disabled'的行为与'readonly'行为不一样:[请点击这里](http://stackoverflow.com/questions/7730695/whats-the-difference-between-disabled-disabled-and-readonly- readonly-for-te) – leaf 2013-03-04 13:27:07

0

试试这个:

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

jQuery的版本:

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

尝试过,但没有工作... – 2013-03-04 13:19:49

0

您是否尝试删除该属性?

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

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

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

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

}