22

この質問はすでに尋ねられていますが、解決策は明確ではありません。

JoshBushのMaskedInputプラグインをjQueryに使用しています

私が達成しようとしていることは次のとおりです。

例:マスク付きの電話入力

    $("#txtPhone").mask("(99)9999-9999");

EQUALS:(00)9398-8373

提出したい:0093988373

------送信時に.maskを削除しても、値を保持することは可能ですか?

4

7 に答える 7

32

使いたいと思いますunmask

$("#myForm").submit(function() {
  $("#txtPhone").unmask();
});
于 2011-10-21T20:15:04.597 に答える
15

入力マスクを初期化するときは、removeMasOnSubmit を true に設定します

    $("#txtPhone").inputmask({removeMaskOnSubmit: true});
于 2015-11-13T07:18:44.343 に答える
7

プラグイン サイトに基づく:

$("#txtPhone").val($("#txtPhone").mask()); 
于 2013-03-15T20:16:31.413 に答える
2

完了したコールバックを使用している場合は、次を使用できます。

$(element).mask("(99)9999-9999", {
  completed : function () {
    var numbers = this.val().replace(/()-/g,'');
  }
}

それ以外の場合は、次を使用できます。

$(element).val().replace(/()-/g,'');

送信する前にこれを実行する場合は、送信イベントをキャプチャし、すぐ上のコードを使用してからフォームを送信することをお勧めします。

編集: Alex Peattieはこの機能を指摘しましたがunmask()、これは私のものよりもはるかに優れた解決策です。ここに答えを残しておきますが、彼の解決策を採用します。

于 2011-10-21T20:13:28.450 に答える
0

を使用して、マスクされた入力の生の値を抽出することもできます

$("#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
于 2016-04-19T13:46:16.617 に答える
0

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.

于 2017-04-26T15:25:48.190 に答える