Jaki jest najlepszy sposób utworzenia maski wejściowej, która zachowa oryginalną wartość (tj. Niezamkniętą) w danych wejściowych?
Na przykład:
użyjmy maski 99999-999
i numer 58398000
.
To, czego chcę, to liczba wyświetlana jako:
58398-000
a wartość wejściowa jest naprawdę warta 58398000
.
Potrzebuję tego, ponieważ walidacja liczy liczbę cyfr i sprawdza, czy są tylko cyfry.
A także maska powinna pojawić się, gdy ładowana jest strona z ustawioną wartością wejścia.
Próbowałem tego: http://www.jasny.net/bootstrap/javascript/#inputmask
Wtyczka jasny ma 2 problemy:
Po pierwsze, wartość wejściowa ma na przykład separator
input.val() == "58398-000"
Po drugie, gdy strona ładuje się z ustawioną wartością, maska nie jest aktualizowana. Na przykład:
<input type="text" value="58398000" class="form-control" data-mask="99999-999">
w tym przypadku maska nie jest wyświetlana.
P.S: Używanie bootstrap i jQuery
Odpowiedzi:
1 dla odpowiedzi № 1Powinieneś dokonać sprawdzenia poprawności przed przesłaniemza pomocą jQuery i upewnij się, że wartość pola jest sformatowana tak, jak chcesz, lub możesz dodać wartość do danych wejściowych, która byłaby wartością rzeczywistą danych lub coś podobnego, i możesz sformatować to naKeyUp lub keyDown w polu.
Możesz użyć
$("#yourSubmitButton").on("click", function(e){
e.prevenDefault();
//Your validation
if (//Form is valid){
$("form").submit();
}
});
Wymagana dokumentacja:
Klawisz jQuery -> https://api.jquery.com/keyup/
jQuery keydown -> https://api.jquery.com/keydown/
Przesyłanie jQuery -> https://api.jquery.com/submit/
N.B: Nie zapomnij o walidacji back-endowej, aby upewnić się, że ludzie z pewnością użyli twojego formularza przed użyciem odebranych danych w bazie danych lub czegokolwiek.