刪除不完整的文本有一個在這個here其他StackOverflow的職位,是我遇到的具體問題。但只有一個答案,並沒有那麼有用。jQuery的maskedinput藍色
所以我重新張貼,希望有人會現在已經找到了解決這一問題。
我有與所述的jquery maskedInput插件和適用於它的jquery的驗證器插件的可選電話號碼字段的形式。
由於沒有特殊的設置,將其設置爲Nothing(這是可選的)後,我每次切換出該電話號碼字段中,驗證吐回一個錯誤說「輸入一個有效的電話號碼」。但是這個領域不是必需的。
那麼,基於this post here我嘗試添加以下代碼來驗證的onfocusout在事件。
onfocusout: function (element)
{
if (!this.checkable(element) && (element.name in this.submitted || !this.optional(element)))
{
var currentObj = this;
var currentElement = element;
var delay = function() { currentObj.element(currentElement); };
setTimeout(delay, 0);
}
}
而起初,這似乎解決了它。如果我輸入有效的電話號碼,則不會出現錯誤。它我輸入沒有電話號碼,沒有錯誤。但是,如果我輸入了一個無效的電話號碼(例如,只輸入9個字符),那麼當我從電話號碼框中刪除輸入的號碼時,將不會顯示任何錯誤。
有沒有解決這個問題的方法?
************更新************** 經過進一步測試,我確認這只是maskedinput的一個問題。如果我從電話號碼字段中完全刪除驗證,然後在電話號碼文本框中輸入部分電話號碼,然後將其選中,則會出現相同的行爲(文本框中部分輸入的號碼被刪除)。一些更多的使用Google表明這是jquery.maskedinput的一個已知問題,但我找不到任何解決方案。
所以我的問題仍然存在..有沒有解決這個問題的方法?