2012-03-25 49 views
0

我需要使用JavaScript來驗證我的文本框,到目前爲止,我做了這個:驗證在JavaScript:空的文本框,當單擊該按鈕

$(document).ready(function(){ 
$('#search_form').validate({ 
rules: { 
searchText:{ 
    required: true,  
    number: true 
      }, 
    }, 
messages: { 

    searchText: { 
     required: "required", 
     number: "must be a number" 
    }} 
     })} 
    ); 

它工作正常,但我也需要,如果用戶按下顯示一條消息搜索按鈕而不輸入任何值,當然文本框中包含「請輸入您的號碼」(使用佔位符)消息。

的檢索算法形式:

<form method="get" id="search_form"> 
<input type="button" value="search" id="search" /> 
<input type="text" name="searchText" id="searchText" placeholder="please enter your number" /> 
</form> 

如果用戶按下搜索按鈕沒有插入一些當前的代碼並不顯示任何,但如果他信插入例如他會得到消息「必須是號碼「,如果他刪除了文本框中的任何值,他將會收到」必需「的消息。

我想:

searchText:{ 
    required: { depends: function() 
     { return $("#searchText").val() == 'please enter your number '} },  
    number: true 
     }, 

但沒有任何變化。

我希望我能解釋我的問題很好。


謝謝!

你是對的,它工作正常,如果我刪除文本框中的任何值我得到所需的味精。 但由於我在窗體上進行了驗證,它沒有響應按鈕時鐘。 我該如何在按鈕上添加驗證?

回答

0

請記住,您的字符串比較是一個確切的搜索。看起來你在你試過的代碼中有一個額外的空間,在「數字」之後。嘗試刪除該空間並再次測試。如果文本字段的值與佔位符值完全匹配,則您的depends方法應該返回true。或者,您可以嘗試$.trim()以確保刪除字符串開頭和結尾的空白。

您可能會考慮的另一種方法是實例化一個「原始值」屬性(使用jQuery的data方法),以便如果您的佔位符值發生變化,則不需要更新JavaScript驗證代碼。

+0

謝謝! 你是對的,它工作正常,如果我刪除文本框中的任何值,我得到要求的味精。但由於我在窗體上進行了驗證,因此它沒有響應按鈕時鐘。我怎樣才能在按鈕上添加驗證呢? – Noon 2012-03-27 05:03:57

+0

我假定按鈕應該提交表單,因此應該調用'validate'方法。你使用的是jQuery Validator插件還是其他的東西? – Jona 2012-03-28 12:59:32

相關問題