2012-07-15 76 views
0

我有一個我已經寫過的驗證插件,並且我將data("defaultvalue")設置爲document ready的值,但是當它涉及到自動完成表單時似乎存在一個小錯誤,他們打敗了我。忽略自動填寫完成的值

if($(this).val() != ""){ 
    $(this).data("defaultvalue", $(this).val()); 
} 

這是我使用存儲的默認值,或「佔位符文本」,以及後來的代碼檢查它:

if($(this).data("defaultvalue") && $(this).val() == $(this).data("defaultvalue")) $(this).val(""); 

任何想法跳過圍繞自動完成?或者我應該咬一口,並在標記中設置默認值數據屬性?

是的,我不使用placeholder屬性的唯一原因是因爲IE。謝謝微軟。

+0

您可以給該元素一個唯一的名稱並使用'autocomplete =「off」'來刪除現代瀏覽器的任何瀏覽器自動完成。 – honyovk 2012-07-15 22:06:38

+0

@MBJ - 我不想幹涉用戶的偏好 - 如果他們不想自動完成,他們可能不會打開它......我想我只是要使用數據屬性! – ahren 2012-07-15 22:24:37

回答

0

對於那些遇到同樣問題的人,我最終將設置數據屬性在我的標記。

<input value="Days" data-defaultvalue="Days" />

這感覺有點像雙處理,但它是最好的跨瀏覽器解決方案,以避免自動完成腳本。