hereにこの他のStackOverflow投稿があります。これは私が持っている問題です。しかし、答えは1つしかありませんでした。jquery maskedinput青で不完全なテキストを削除する
だから私は誰かがこの問題の解決策を今見つけたことを願って再転記しています。
私は、jquery maskedInputプラグインとjqueryバリデータプラグインが適用されたOPTIONAL電話番号フィールドを持つフォームを持っています。
特別な設定をせずに、何も設定しないで電話番号フィールドからタブするたびに(オプションです)、バリデータは「有効な電話番号を入力してください」というエラーを返す。しかし、このフィールドは必須ではありません。
したがって、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に問題があることを確認しました。電話番号フィールドから検証を完全に削除し、電話番号テキストボックスに部分的な電話番号を入力してからタブをタップすると、同じ動作が行われます(テキストボックスに部分的に入力された番号が削除されます)。これはjquery.maskedinputの既知の問題であることをいくつかのグーグルが示していますが、私は決議を見つけることができませんでした。
私の質問はまだ立っています..この問題の解決策はありますか?