Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Nie działa weryfikacja nr telefonu w formularzu
Forum PHP.pl > Forum > Przedszkole
finka
Chciałbym weryfikować pole input w formularzu, pod względem tego czy jest tam wpisany nr (telefonu) a nie tekst.
Skorzystałem z: http://www.forumweb.pl/poczatkujacy-webmas...tosci-pola,1480

I w sumie to działa, pojawia się info, że nie została wpisana liczba jeśli się wpisze tekst, jednak formularz mimo tego i tak się wysyła, więc skorzystałem z tego:

  1. <script type="text/javascript">
  2. function SprawdzTelefon(Telefon)
  3. {
  4. var TestTelefon = /^(.[A-Za-z]+$/;
  5. var Wynik2 = Telefon.match(TestTelefon);
  6.  
  7. if (Wynik2 == null)
  8. {
  9. alert ("Bledny tel.");
  10. return false;
  11. }
  12. return true;
  13. }


w form dodałem onsubmit:
  1. <form action="" method="post" onSubmit="return SprawdzTelefon(this.telefon.value);" >


a pole input wygląda następująco:

  1. <input type="text" lang="Telefon" value="Telefon" onblur="this.value=!this.value?'Telefon':this.value;" onfocus="this.select()" onclick="this.value='';" style="text-align:center; width:210px; height:40px;margin-bottom:8px;" class="i" id="telefon_" name="telefon" maxlength="21">

wysyłane za pomocą:

  1. <input style="font-size:20px; background: #03acf9;" type="submit" name="submit" value="Sprawdź">


Niby to powinno działać, ale tak nie jest.
Problem, może lezeć w onSubmit="return SprawdzTelefon(this.telefon.value)

Czy telefon z this.telefon.value to wartość pola którego name="telefon" czy pola którego "id" = telefon (u mnie id="telefon_" ale zmiana na "telefon" nic nie daje") a może to jeszcze jakaś inna wartośc ?
kamil4u
http://jsfiddle.net/YRKaS/ - masz źle napisaną funkcję\

Z założenia ma być HTML5 możliwość autosprawdzenia numeru, jednak na razie to nie działa: http://www.w3schools.com/html/html5_form_input_types.asp
finka
Dzięki, mocno mi pomogłeś lecz zauważyłem, że jest mały bug, bo jak wpiszę tekst to alarmuje, że to nie numer, ale jak w tekście jest chociaż jedna cyfra to przechodzi i nie ma alertu.
kamil4u
Napisz lepsze wyrażenie regularne - np. dozwolone są tylko liczby, spacja i myślnik
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.