0

HTMLフォームフィールド(5 + 4郵便番号)をタブアウトすると、5桁しか入力しなかった場合はフィールドがクリアされますが、5+4をすべて入力した場合は数字が残ります。jquery.maskedinputマスキングにプラグインを使用しています。入力するのが5桁だけなのに、なぜ5桁が残っていないのですか?

これがjsFiddleの再現です:http://jsfiddle.net/dEfE8/1

<input data-val="true" 
 data-val-length="The field Claimant Zip Code must be a string with a maximum length of 10." data-val-length-max="10" 
 data-val-regex="The field Claimant Zip Code must match the regular expression &#39;^(\d{5}|\d{5}-\d{4})$&#39;." 
 data-val-regex-pattern="^(\d{5}|\d{5}-\d{4})$" 
 data-val-required="The Claimant Zip Code field is required." 
 id="Claimant_Zip" 
 name="Claimant.Zip" 
 title="Claimant Zip Code" 
 type="text" 
 value="" />

更新:追加の関連コード

これは、問題のフィールドに添付されています。これはjquery.maskedinputプラグインの一部です。

$("#Claimant_Zip").mask("99999-9999");
4

1 に答える 1

1

「マスクされた入力」プラグインのドキュメントによると

設計上、このプラグインはマスクを完成させない入力を拒否します。'?'を使用してこれをバイパスできます 入力をオプションと見なしたい位置の文字。

?ハイフンの直前に追加すると修正されます。

$("#Claimant_Zip").mask("99999?-9999");

OPのjsFiddleの動作:http://jsfiddle.net/dEfE8/2/

于 2013-02-19T21:19:03.993 に答える