2011-07-27 28 views
0

我正在編寫瀏覽器的回退功能,但沒有placeholder屬性支持。我所提出的除了IE6之外的所有瀏覽器都能完美地工作。IE6 JavaScript問題 - 無法在字段中鍵入文本

問題是這樣的:在聚焦兩個字段之一後,佔位符文本消失如預期,但我無法在字段中輸入或粘貼任何文本!有時我會得到一個「錯誤84-未指定的錯誤」,但大多數情況下,根本沒有錯誤。

我已上載有問題的代碼,這是最簡單的形式在http://jsfiddle.net/CMWHx/(代碼也低於)

這真的是讓我瘋了,到了那裏,我開始覺得我的IE6的副本是點狡猾的(這是一個MultipleIE安裝),所以我會很感激,如果你有任何與IE6的副本可以迅速檢查上面的鏈接,並確認你遇到同樣的問題,因爲我。

感謝提前:)

HTML

<input id="email_input" type="email" placeholder="Email" required="required" /> 
<input id="password_input" type="password" placeholder="Password" required="required" /> 

的JavaScript(jQuery的1.6.2)

$("#email_input").val("Email").focus(function() { 
    if ($(this).val() == "Email") 
    { 
     $(this).val(""); 
    } 
}).blur(function() { 
    if ($(this).val() == "") 
    { 
     $(this).val("Email"); 
    } 
}); 

$("#password_input").hide().after("<input id=\"password_placeholder\" value=\"Password\" />").blur(function() { 
    if ($(this).val() == "") 
    { 
     $(this).hide(); 
     $("#password_placeholder").show(); 
    } 
}); 
$("#password_placeholder").focus(function() { 
    $(this).hide(); 
    $("#password_input").show().focus(); 
}); 
+4

實時鏈接對於一個問題來說是一個很好的*附件*,但也總是在問題*中發佈相關的代碼*。兩個原因。 1.人們不應該遵循鏈接來幫助你。 2. StackOverflow不僅適用於您,而且適用於將來也有類似問題的其他人。外部鏈接可以被移動,修改,刪除等。通過確保相關代碼在問題中,我們確保問題(及其答案)在合理的時間段內保持有用。 –

+0

@T。 J.Crowder - 感謝您的評論,我已將代碼添加到帖子 – chigley

回答

0

我看到一個類似的問題,通過舊的Xenocode沙箱IE瀏覽器(包括加載頁面上的錯誤84)在運行IE6的Windows 7 VM中描述的問題。

但後來我啓動了一個Windows XP虛擬機,它具有本地的,從未更新過的IE6,並且可以在那裏加載你的小提琴而沒有錯誤,並且代碼按預期工作。

所以,我認爲你沒問題。

1

如果你們我會感激與IE6的副本可以快速檢查上面的鏈接和合作確認你遇到了和我一樣的問題。

我可以在IE6上輸入字段。虛假佔位符消失,我鍵入的內容會顯示出來,無論是當我使用鼠標進行對焦並使用鍵盤進行標記時。

0

我在IE6下的IETester測試了它,它似乎正常工作。來回點擊後,字段中的值保留下來,我可以輸入它們。

0

與您的問題無關,但作爲提示,您可以通過輸入默認值,然後使用默認值檢查當前值來完成此操作。

<input value="email" 
onfocus="if (this.value == this.defaultValue) this.value = '';" 
onblur="if (this.value == '') this.value = this.defaultValue;" 
... > 

當然你可以實現它,只要你喜歡,上面只是顯示了策略。

+0

這適用於除type =「password」之外的所有字段。對於這些字段,默認文本將顯示爲點,這不是預期的行爲。如上所述,對於密碼字段,您必須換出輸入元素。 – threejeez

相關問題