2011-07-26 54 views
0

我想找到一種方法來輕鬆地添加默認值,以形式使用jquery驗證插件。我搜查了一下,沒有發現任何有用的東西,最後一個類似的問題是一歲。 因此,再次詢問,有沒有簡單的方法來添加默認值的形式,而不會搞亂jquery驗證代碼。 當然,當用戶開始在字段內輸入時,默認值應該消失。jquery驗證和默認文本

編輯:我看到這個問題有點混亂,所以這裏有更好的解釋。我想添加默認文本形式,我想驗證插件忽略該默認值。我知道我可以添加方法來檢查值是否爲默認值,但由於窗體非常大,我更喜歡其他解決方案。就像一些將默認文本置於輸入字段之上的插件一樣,如果表單被提交時未提交用戶填充的字段,它似乎會將插件驗證爲空。

回答

1

如果你只是使用它作爲吸引力,你可以只使用佔位符屬性,<input name="search" type="text" placeholder="Enter some keywords..." />

+0

這就是我需要的。謝謝,並感謝大家的答案。 – Milos911

+0

對於HTML5 +1。如果瀏覽器不支持它,它只是不顯示。 – Jack

1
<input type="text" name="user" id="user" value="YOUR DEFUALT VALUE" /> 

$("#user").attr("value", "YOUR DEFAULT VALUE"); 

只需使用上面的代碼中的DOM已準備就緒,它應該是罰款,我覺得。

0

擴展在前面的回答:

HTML:

<input type="text" name="user" id="user" value="YOUR DEFUALT VALUE" /> 

,你應該從表單字段不明確的默認值。

+0

我知道:)事情是,當提交表單時,jquery validate插件認爲默認值是正確的價值,並允許提交表格。 – Milos911

+0

默認值應該是一個有效值。 – BumbleB2na

+0

忘記輸入進入評論:)。我知道我可以編寫自定義驗證規則,但我認爲必須有更簡單的方法,因爲我的表單非常龐大而且非常複雜。 – Milos911

1

如果您在談論驗證失敗後看到的消息,那麼您可以做這樣的事情。如果您正在說文本框的默認值,請查看@Caimen的答案。

$("form").validate({ 
    rules: {FirstName: "required defaultCheck"}, 
    messages: { 
      FirstName: "First name is required" 
)}; 

即使您選擇了您的答案,這可能會幫助某人。 如果您希望驗證程序忽略默認文本,而這正是我認爲您始終需要的默認文本,則可以執行此操作。

$.validator.addMethod(
      'defaultCheck', function (value, element) { 
       if (element.value == element.defaultValue) { 
        return false; 
       } 
       return true; 
    }); 
+0

+1在這裏。我意識到,這是你應該用來處理默認值。爲什麼要清除默認值?您的默認值不應該是用戶可能想要使用的有效值嗎? – BumbleB2na

+0

嗯,我想要做一些類似於value =「寫東西...」的東西,並且當用戶開始輸入時它會消失。我知道如何做到這一點,所以這不成問題。問題是,如果用戶不輸入任何內容,則驗證插件認爲「寫入內容...」是有效值(並且是,但不應該是)。 – Milos911

0

這是我會怎麼做:

<input name="firstName" value="First Name" defaultValue="First Name"> 

,然後在驗證:

if(object.value != object.defaultValue) 
    // validation