Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Sprawdzanie, czy dwa pola mają taką samą wartość
malolat_ps
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 12.10.2008

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


Witam!

Mam w swoim skrypcie sprawdzanie formularza w js. Chciałbym też sprawdzić, czy pole hasło i powtórz hasło mają taką samą wartość. Ale nie wiem w jaki sposób to zrobić, bo js jest dla mnie czarną magią (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Gdyby ktoś mi podrzucił rozwiązanie byłbym bardzo wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Chciałbym również przy sprawdzaniu formularza zaznaczać czerwoną obwódką błędnie wypełnione pola. Ponoć w JS jest to wykonalne, jednak nie mogę nic znaleźć na ten temat (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jeżeli macie jakieś linki, bądź gotowe rozwiązanie również bardzo by mi się przydało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
malolat_ps
post
Post #2





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 12.10.2008

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


Jestem coraz bliżej rozwiązania, ale nadal coś jest nie tak. Mój kod JS na chwilę obecną wygląda tak:

Kod
testFormularza={
  rodzajePol:{
    niepuste:[/.+/,'Proszę wypełnić pole'],
    email:[/^[\w\.-]{2,}@[\w\.-]+\.[a-z]{2,5}$/,'Proszę podać prawidłowy adres e-mail'],
    liczbacalkowita:[/^\d+$/,'Prawidłową wartością tego pola jest liczba całkowita'],
    liczbarzeczywista:[/^(\d+|\d+,\d+)$/,'Proszę podać liczbę rzeczywistą (można użyć przecinka)'],
    data:[/^\d+\-\d+\-\d{4}$/,'Proszę wpisać datę w formacie DD-MM-RRRR (numer dnia-numer miesiąca-rok) np. 23-02-2003'],
    kodpocztowy:[/^\d{2}\-\d{3}$/,'Proszę podać kod pocztowy np. 06-600'],
    m20m100:[/^.{20,100}$/,'Proszę wpisać nie więcej niż 100 znaków, ale też nie mniej niż 20.'],
    duzelitery:[/^[A-Z]+$/,'Proszę używać wyłšcznie dużych liter w tym polu'],
    url:[/^http\:\/\/.+\.[a-z]{2,5}$/i,'Proszę podać prawidłowy adres strony www np. http://strona.pl'] 
  },
  testuj:function(f){
    var i,rodz;
    for(i=0;i<f.elements.length;i++){
      E=f.elements[i];
      if(rodz=this.rodzajePol[E.getAttribute('rodzajpola')])
        if(!rodz[0].test(E.value)){
          E.focus();
          E.select();
          var el = E.getAttribute('id');
          el.className = formularz_czerwona;
          alert((E.getAttribute('komunikat')||rodz[1]));
          return false;          
        }
    }
    return true;
  }
}



Za zaznaczanie błędnego pola czerwoną obwódką odpowiadają te dwie linie:

Kod
var el = E.getAttribute('id');
el.className = formularz_czerwona;
Niestety, gdy ta druga linijka znajduje się w kodzie, dalsza część tego kodu nie jest już wykonywana, tzn. nie wyświetla się alert i funkcja nie zwraca false, tylko przechodzi do następnej strony. Próbowałem już na wszelkie sposoby, jednak nadal nie mam rozwiązania. Czy jestem chociaż na właściwym tropie?
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: 5.10.2025 - 20:56