2010-04-04 105 views
2

我使用JQuery Validation來驗證我的形式特定文本框。文本框是可選website部,其使用url驗證方法。這工作正常,並據此進行驗證。我想有http://預置到文本框中,以節省不必鍵入它的用戶。然而,當文本設置,驗證變爲「主動」,並防止在形式提交,直到該http://任何被手動刪除,或者輸入有效的網站。是否有一種方法可以將文本預置到文本框中,這不會導致驗證程序開始驗證?選擇性jQuery驗證

我試圖用

$("[id$='tbWebsite']").val("http://"); 

我打電話form.validate()之前,但它不工作(即它仍然被選中)。

我從來沒有使用JQuery Validator,所以希望有一個修復這個,我失蹤了!

對於我的情況特別是替代解決方案,可能是如果按下某個按鈕(而不是表單上的任何按鈕)來激活驗證程序。這可能嗎?

感謝

更新

我已將此添加到文本框聲明:

onfocus="if(this.value == 'http://' || this.value == '')this.value='http://'" onblur="if(this.value == 'http://')this.value=''" 

這解決了主要問題。但是,如果用戶點擊文本框,然後點擊了,仍然顯示錯誤消息(即使它不是強制執行,並且可以提交表單)。如果值爲'http://',確保不顯示錯誤消息的最佳方法是什麼?

回答

1

放置在僅當用戶聚焦文本框中的前綴,如果文本框失去焦點,與在它的前綴刪除

+0

如果你這樣做,確保你只** **將值設置爲http://如果用戶**沒有輸入任何內容,則不會比填寫字段更糟糕,回到它並讓它自行清空。 – 2010-04-04 20:52:41

+0

當然。在不清楚的情況下增加了一些重點。 – 2010-04-04 20:56:30

+0

謝謝。我實現了邏輯,它工作正常(表單可以提交)。但是,如果我在該框中單擊,然後單擊它(不輸入任何有效的內容),仍會顯示錯誤消息。我已經使用代碼更新了我的原始帖子。 – keyboardP 2010-04-04 21:02:24