Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] JQUERY wszystko w jednym miejscu
Forum PHP.pl > Forum > Przedszkole
hermo767
witam,
mam formularz
  1. <form action="dodaj.php" method="POST" onsubmit="return checkform(this);">


i wywolanie tej funkcji:

  1. function checkform ( form ) {


jak to przerobic zgodnie ze standardami, zeby pozbyc sie z formularza tego onsubmit?
cim
Witam,

  1. <form action="dodaj.php" method="POST" id="formularz">

  1. $("#formularz").submit(function(e){
  2. ...sprawdzenie...
  3. if (blad)
  4. {
  5. return false;
  6. }
  7. });


Więcej na stronie jQuery: http://api.jquery.com/submit/

Pozdrawiam
hermo767
niestety nie dziala mi to. niezaleznie czy zwroci true czy false to formularz i tak sie wysyla sad.gif
cim
A możesz pokazać cały kod?
hermo767
  1. var form = false;
  2. $("#formularz").submit(function(e)
  3. {
  4. if (form == false ){
  5. alert('STOP');
  6. return false;
  7. }
  8. return true;
  9. });

tam dalej mam zrobione dla pol formularzy (jak ok to form ustawiam na true), ale to nie ma nic do rzeczy, bo wczesniej mi dzialalo i teraz tez dziala sprawdzanie, tylko nie blokuje formularza
niezaleznie od tego czy false to true to i tak sie wysyla
cim
Tak małego kawałka kodu u siebie nie odpalę, ale może mój test Ci pomoże.

Ten kod u mnie działa:
  1. <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
  2. <script type="text/javascript">
  3. $(document).ready(function(){
  4. $("#formularz").submit(function(e){
  5. alert('tutaj');
  6. if ($("#pole").val() == '')
  7. {
  8. alert('zle');
  9. e.preventDefault();
  10. //return false;
  11. }
  12. else
  13. {
  14. alert('dobrze');
  15. return true;
  16. }
  17. });
  18. });
  19. </head>
  20.  
  21. <form action="plik.php" method="post" id="formularz">
  22. <input type="text" name="pole" value="" id="pole" />
  23. <input type="submit" value="wyslij" />
  24. </form>
  25.  
  26. </body>
  27. </html>

Formularz nie jest wysyłany i przy "return false;" i przy "e.preventDefault();".

Pozdrawiam
hermo767
dzieki, juz sobie poradzilem smile.gif

a przy okazji mam 2 pytania - co robi to e w funkcji? co to daje?
a drugie
mam tak:
  1. var form = false;
  2. var form2 = false;
  3.  
  4. if (!form && !form2)
  5. {
  6. alert('zle');
  7. e.preventDefault();
  8. //return false;
  9. }
  10. else
  11. {
  12. alert('dobrze');
  13. return true;
  14. }


to mi przepuszcza, dopiero jak zmienie na || to dziala dobrze. nie powinno byc na odwrot? przeciez && to jest i, a skoro oba sa false to nie powinno przepuscic
askone
W Warunku masz zaprzeczenie wartości obydwu zmiennych. Tak więc skoro wartośc bazowa zmiennej form i form2 jest równa FALSE, to jej zaprzeczenie jest równe TRUE. Warunek AND jest więc spełniony gdyż obydwie części zwracają TRUE i całość poprzez AND również...

Pozdrawiam
cim
Cytat(hermo767 @ 13.04.2011, 01:16:45 ) *
a przy okazji mam 2 pytania - co robi to e w funkcji? co to daje?


WItam,

na drugie pytanie odpowiedział mój przedpiszca, natomiast jeżeli chodzi o to "e" to jest to obiekt zdarzenia (można z niego odczytać obiekt, na którym zostało wywołane zdarzenie, współrzędne kliknięcia, albo zatrzymać dalsze wykonywanie zdarzenia).

Pełny opis masz tutaj: http://api.jquery.com/category/events/event-object/

Pozdrawiam
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.