Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] walidacja formularza
Forum PHP.pl > Forum > Przedszkole
d4ng
Witajcie potrzebuje zwalidować formularz przy pomocy jQuery (to wymóg) tak że gdy pole straci focus a nie zostało wypełnione (focus przejdzie na inne pole to) to input zyskuje czerwoną ramke..

  1. <input type="text" id="imie" name="name"><br />
  2. <input type="text" id="email" name="email"><br />
  3.  
  4. <input type="button" id="go" value="przycisk">


Po stracie focus ramka robi się czerwona:

  1. $(document).ready(function(){
  2. $("input#imie").blur(function(){
  3. $("input#imie").css("border-color","#ff0000");
  4. });
  5. });


jednak jak chciałem dodać warunek że jak dzieje się tak tylko w przypadku pola pustego to wyszła kicha :/

  1. $(document).ready(function(){
  2. var imie = $( "input#imie" ).val();
  3.  
  4. if ((imie == "") && ($("input#imie").blur)){
  5. $("input#imie").css("border-color","#ff0000");
  6. }else{
  7.  
  8. }
  9. });


Z góry dziękuje i pozdrawiam wink.gif
vonski
O ile w Twoim pierwszym kodzie jest wszystko ok, bo używasz funkcji blur(), o tyle w drugim przypadku.. już jej nie używasz smile.gif Tylko w pewnym sensie sprawdzasz czy ona istnieje: if ((imie == "") && ($("input#imie").blur)) - a że funkcja istnieje, dlatego wartość logiczna warunku to TRUE i wykonuje się on zaraz po załadowaniu dokumentu (czyli zaraz po załadowaniu dostajesz czerwoną ramkę).

Spróbuj tak:

  1. $(document).ready(function(){
  2. $('input#imie').blur(function() {
  3. if($(this).val() == '') {
  4. $(this).css('border-color', '#ff0000');
  5. }
  6. });
  7. });
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.