2012-03-05 38 views
3

刪除不完整的文本有一個在這個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的一個已知問題,但我找不到任何解決方案。

所以我的問題仍然存在..有沒有解決這個問題的方法?

回答