wake-up-neo.net

Literale nach dem Absenden des Formulars aus der Eingabemaske entfernen?

diese Frage wurde bereits gestellt, aber die Lösungen waren nicht klar.

Ich benutze Josh Bushs MaskedInput-Plugin für jQuery

Was ich versuche zu erreichen, ist:

Zum Beispiel: eine Telefoneingabe mit der Maske

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

EQUALS: (00) 9398-8373

ich möchte es einreichen: 0093988373

------ Ist es möglich, die .mask beim Senden zu entfernen, aber den Wert beizubehalten?

14
Wednesday Man

Ich denke du willst unmask benutzen

$("#myForm").submit(function() {
  $("#txtPhone").unmask();
});
22
Alex Peattie

Setzen Sie removeMaskOnSubmit beim Initialisieren der Eingabemaske auf true

    $("#txtPhone").inputmask({removeMaskOnSubmit: true});
10
Shameem Ahmed

Basierend auf Plugin Site :

$("#txtPhone").val($("#txtPhone").mask()); 
7
dperez

demaskierung ist keine Funktion. Dies ist meine Art zu benutzen. autoUnmask: true

    $('#amount').inputmask('999.999.999.999', {
        numericInput: true,
        autoUnmask: true,
    });
1
Umut Yerebakmaz

Wenn Sie den abgeschlossenen Rückruf verwenden, können Sie einfach Folgendes verwenden:

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

Andernfalls können Sie Folgendes verwenden:

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

Wenn Sie dies vor dem Absenden tun möchten, empfehle ich, das Absendeereignis zu erfassen, den Code direkt darüber zu verwenden und dann das Formular abzusenden.

EDIT: Alex Peattie wies auf die Funktion unmask() hin, die ich sagen muss, ist eine viel bessere Lösung als meine. Ich werde meine Antwort hier lassen, aber ich würde mit seiner Lösung gehen.

1
Ivan

Angenommen, Sie haben mehr als eine Eingabe übermittelt, können Sie Folgendes verwenden:

// unmask all inputs, before savinf;
$(FormObj+" input[type=text]").each(function() {
    $(this).unmask();
});

dabei ist FormObj Ihre Formularobjekt-ID, z. B. #form.

0
Paulo Henrique

Sie können den Rohwert einer maskierten Eingabe auch mit extrahieren

$("#YourSelector").data( $.mask.dataName )();

Quelle: https://github.com/digitalBush/jquery.maskedinput/issues/318


Beispiel
Wenn Sie eine phone Eingabe mit einer solchen Maske verwenden:

$(".phone").mask("99 99 99 99 99")

sie können die Benutzereingaben extrahieren mit:

$(".phone").data($.mask.dataName)() 
// will produce "0102030405" while the masks displays 01 02 03 04 05
0
AlexB