Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sprawdzenie pola czy zawiera liczbę
xmarko
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 26.02.2004

Ostrzeżenie: (0%)
-----


Witam,
w jaki sposob sprawdzić czy w polu input została wpisana wartość liczbowa.
Tworzę formularz - i muszę w nim sprawdzić przed wysłaniem do skryptu php czy wartośc wpisana w pole "masa" jest liczbą czy tekstem.
Jezeli wystepuje teks - to powinien zostać wywolany komunikat o błędzie (atert).
W zasadzie przydałoby się też sprawdzenie czy do wpisania liczby zastosowano przecinek, czy kropkę . Z założenia powinien być wpisany przecinek.
I daltego Skrypt w javie powinien rozpoznać , jaki znak został zastosowany. W przypadku użycia kropki powinien pojawić się komunikat (alert) o błędzie.
Oto przykładowy kod formularza
  1. <form action="karta.php" method="POST" target="_blank" name="formularz">
  2. <input name='masa' size='5' value =''>
  3. </form>

Zwracam sie z prośbą o pomoc w rozwiązaniu mojego problemu.
Jak powinien wygląfdac zapis sprawdzający te zalożenia?
Niestety java dla mnie to "czarna magia"
Za okazane zrozumienie, sugestie i pomoc z góry bardzo dziekuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dasko
post
Post #2





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 9.11.2004

Ostrzeżenie: (0%)
-----


@MStaniszczak: Funkcja dziurawa. Nie obsługuj przecinków, kropek...

Można to zrobic łatwiej, przy użyciu wyrażeń regularnych... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Kod
function check() {
    var reg = /^-?\d+(([,\.]?\d+)|())$/;
    if(reg.test(document.forms['formularz'].masa.value)) {
  return true;
    } else {
  alert("Wpisz wartosc liczbowa!");
  return false;
    }
}


Oczywiście potem należy dodać procedure obsługi zdarzenia onsubmit do formularza:
  1. <form action="karta.php" method="POST" target="_blank" name="formularz" onsubmit="return check();">


Powinno działać... (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 10:13