walidacja formularza js

2010-12-03 16:27:38 Post #1 user76

 
Witam, chciałbym przeprowadzić walidację formularza. Gdzie jest błąd, skrypt przepuszcza wszystko.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
function validate()

{


function sprawdzEmail(){

f=document.nazwaform;

poz=f.Email.value.indexOf("@");

if (poz == -1) {

alert("Niepoprawny adres e-mail");

return false;

}

}

function sprawdzEmail(){

if (document.getElementById('login').length < 3)

{

alert('Podaj login');

document.getElementById('login').focus();

return false;

}

return true;



}
function send()

{

if (validate())

document.forms.nazwaform.submit();

}



1
2
3
4
5
<form method="post" action="skrypty/skrypt.klient_dodaj.php" name="nazwaform">

<
input name="Wyslij" onsubmit="return send(this)" class="submit" type="submit" value="Zapisz"/> <input name="Czysc" class="submit" type="reset" value="Czyść"/>

 

2010-12-05 17:36:33 Post #2 nospor

 
1) dwukrotnie deklarujesz sprawdzEmail()
2) nad reszta pomysle gdy poprawisz ten pierwszy blad

2010-12-05 22:14:28 Post #3 gość_Comandeer

 
Fajny formularz ;D
1) onsubmit przypisz to form, nie przycisku wysyłania
2) name dla formularzy nie używa się od wieków. Teraz króluje wszędobylski id
3) funkcja send to majstersztyk. W ogóle nie zwraca wartości i odwołuje się do funkcji, która zawsze zwraca true. No, i oczywiście wysyła formularz
4) sprawdzanie maila leży. Jeśli wpisze w te pole np. @@, to skrypt uzna to za poprawny mail. Tu przydałyby się wyrażenia regularne.
5) fajnie, że wszystkie deklarowane zmienne są globalne
6) ten świetny skrypt działa tylko z tym jednym konkretnym formularzem. Taka funkcja powinna przyjmować jako parametr tablicę asocjacyjną w postaci 'id_pola'=>'typ_pola', a validate sprawdzać czy zawartość się zgadza z typem
7) w dobie HTML 5 taka walidacja jedynie śmieszy. Poczytaj o nowych typach inputów i atrybucie required.
8) http://www.thecssninja.com/javascript/h5f
Jako przykład dobrze napisanej bilblioteki walidującej formularze. Instrukcja obsługi jest na tyle zwięzła i zrozumiała, że bez problemów będziesz w stanie ją zastosować (no, chyba, że nie znasz angielskiego)

2010-12-05 23:36:30 Post #4 gość_aa

 
dzięki

Odpowiedz