この質問はすでに尋ねられていますが、解決策は明確ではありません。
JoshBushのMaskedInputプラグインをjQueryに使用しています
私が達成しようとしていることは次のとおりです。
例:マスク付きの電話入力
$("#txtPhone").mask("(99)9999-9999");
EQUALS:(00)9398-8373
提出したい:0093988373
------送信時に.maskを削除しても、値を保持することは可能ですか?
この質問はすでに尋ねられていますが、解決策は明確ではありません。
JoshBushのMaskedInputプラグインをjQueryに使用しています
私が達成しようとしていることは次のとおりです。
例:マスク付きの電話入力
$("#txtPhone").mask("(99)9999-9999");
EQUALS:(00)9398-8373
提出したい:0093988373
------送信時に.maskを削除しても、値を保持することは可能ですか?
使いたいと思いますunmask
$("#myForm").submit(function() {
$("#txtPhone").unmask();
});
入力マスクを初期化するときは、removeMasOnSubmit を true に設定します
$("#txtPhone").inputmask({removeMaskOnSubmit: true});
プラグイン サイトに基づく:
$("#txtPhone").val($("#txtPhone").mask());
完了したコールバックを使用している場合は、次を使用できます。
$(element).mask("(99)9999-9999", {
completed : function () {
var numbers = this.val().replace(/()-/g,'');
}
}
それ以外の場合は、次を使用できます。
$(element).val().replace(/()-/g,'');
送信する前にこれを実行する場合は、送信イベントをキャプチャし、すぐ上のコードを使用してからフォームを送信することをお勧めします。
編集: Alex Peattieはこの機能を指摘しましたがunmask()
、これは私のものよりもはるかに優れた解決策です。ここに答えを残しておきますが、彼の解決策を採用します。
を使用して、マスクされた入力の生の値を抽出することもできます
$("#YourSelector").data( $.mask.dataName )();
ソース: https://github.com/digitalBush/jquery.maskedinput/issues/318
例このようなマスクで入力を
使用する場合:phone
$(".phone").mask("99 99 99 99 99")
次を使用してユーザー入力を抽出できます。
$(".phone").data($.mask.dataName)()
// will produce "0102030405" while the masks displays 01 02 03 04 05
Assuming you have more than just one input being submitted, you could use:
// unmask all inputs, before savinf;
$(FormObj+" input[type=text]").each(function() {
$(this).unmask();
});
where FormObj is your form object id, such as #form.