Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: JS formularz nie działa
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Vion
Witam
Mam taki formularz ale niestety nie działa. Po wysłaniu pustego formularza powinien pojawić się komunikat które pola są puste oraz powinny one być w czerwonej ramce. Po wciśnięciu 'Wyślij' nic się nie dzieje, brak jakkolwiek reakcji.

  1. <style type="text/css">
  2. p#licznikSlow {color:red; font-family:Tahoma;}
  3. p#ileZostalo {color:blue; font-family:Tahoma;}
  4. .zlewypelniono {border:solid 2px red; background:grey;}
  5.  
  6. <h3>Prosta walidacja wypelnienia formularza:</h3>
  7. <form name="rejestracja" class="sprawdz">
  8. Imie: <input type="text" name="imie"/><br/>
  9. Telefon: <input type="text" name="telefon"/><br/>
  10. O sobie: <textarea name="osobie"></textarea><br/>
  11. Plec: <select name="plec"><option value=""></option>
  12. <option value="M">M</option>
  13. <option value="K">K</option></select><br/>
  14. <input type="submit" value="Wyslij"/>
  15. </form>
  16. <script type="text/javascript">
  17. <!--
  18. var wybrany = 0;
  19. $(document).ready
  20. (
  21. function()
  22. {
  23.  
  24. $('form.sprawdz').submit(
  25. function()
  26. {
  27. var poprawnosc = true;
  28. $(':input', this).each
  29. (
  30. function()
  31. {
  32. if($(this).val()=='')
  33. {
  34. $(this).addClass('zlewypelniono');
  35. poprawnosc = false;
  36. }
  37. else
  38. {
  39. $(this).removeClass('zlewypelniono');
  40. }
  41. }
  42. );
  43. if(!poprawnosc)
  44. {
  45. alert('Wypelnij wszystkie oznaczone pole i ponow');
  46. }
  47. return false;
  48. }
  49. );
  50. }
  51. );
  52. </script>
  53.  
nospor
Cytat
ale niestety nie działa
Łączymy się z tobą w smutku... mamy nadzieję, iż sobie z tym poradzisz.

Cytat
Co jest nie tak
Twoj opis problemu. Wypadałoby napisać czym się objawia to "nie działanie", jak sobie wyobrażasz poprawne działanie itp...
Scalak
zapomniałeś "dodać" frameworka. Wklej przed Twoim <script ... :
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

Maciek
Vion
A jak zrobić żeby nie wyświetlał się alert w nowym okienku, tylko obok każdego pola. Np. jeśli nie wypełnię pola 'Imie' to obok wyświetli się napis 'Podaj imie'
nospor
@Scalak normalnie prorok. Chylę czoła smile.gif
Skąd wiedziałeś? Nic nie wskazywało na blad ktory zauwazyles.
Scalak
Cytat
A jak zrobić żeby nie wyświetlał się alert w nowym okienku, tylko obok każdego pola. Np. jeśli nie wypełnię pola 'Imie' to obok wyświetli się napis 'Podaj imie'

przykładowo tak:
dodaj spana obok imie:
Kod
Imie: <input type="text" name="imie"/><span id='imie'></span><br/>

w javascrit dodaj funkcję:
Kod
$(":text").blur(function(){
  if(this.value=='' && this.name=='imie') $("#imie").append("bla bla bla"); else $("#imie").empty();
});

po resztę odsyłam do dokumentacji lub kursu jquery np tutaj http://www.w3schools.com/jquery/default.asp

@nospor
konsola błędów: $ is not defined winksmiley.jpg
nospor
Cytat
@nospor
konsola błędów: $ is not defined
To ze nie ma liba dołączonego to i bez konsoli widac. Przeciez on mogl pokazac tylko kawalek kodu a liba łaczyc wczesniej w kodzie, ktorego nie pokazal... a ja myslalem ze ty nosa miales czy cos... winksmiley.jpg
Vion
a mógłbyś powiedzieć w którym to miejscu dokleić? bo coś mi nie działa
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.