2013-03-04 77 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(); 

}