Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Zatrzymanie formularza jquery
Forum PHP.pl > Forum > Przedszkole
Randallmaster
Witam,

po kliknięciu w submit formularza

chciałbym aby wykonywał się wpierw ten kod:

  1. $(document).ready(function(){
  2. $("form#form_settings").submit(function() {
  3. var imie = $('input[name=imie]');
  4. if ($("#imie").val() == "")
  5. {
  6. $("#imie").addClass("error_button");
  7. }
  8. return false;
  9. });
  10. });


jeśli powyższe warunki nie są spełnione to wykona się formularz jeśli nie to zatrzyma.

Generalnie mógłbym zrobić to w jquery za pomocą ajaxa, ale potrzebuję mieć to na tej samej stronie w kodzie php.

Nie wiem jak zatrzymać formularz gdy warunki nie są spełnione ;/
skowron-line
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $("form#form_settings").submit(function() {
  3. var imie = $('input[name=imie]');
  4. if ($("#imie").val() == "")
  5. {
  6. $("#imie").addClass("error_button");
  7. return false; // formularz nie zostanie wyslany
  8. }
  9.  
  10. // nie ma bledu w formularzu
  11. return true; // wysylasz formularz
  12. });
  13. });
[JAVASCRIPT] pobierz, plaintext
Randallmaster
formularz i tak się dodaje
nospor
A sprawdzałeś w ogóle czy on ci do tej funkcji wchodzi?
Kod
$(document).ready(function(){

    $("form#form_settings").submit(function() {

alert("Widzisz mnie??");
    return false;

    });

});

Jak nie zobaczyszz alerta, to znaczy że nie podpiąłeś zdarzenia do forma. Bo kod sam w sobie z return false; jest poprawny
Randallmaster
nie wchodzi ale wszystko jest podpięte...

id się zgadza
w header link do pliku też jest.


Sprawdzałem czy plik js działa dodając alert('test'); i wyświetla.


  1. <form id="form_settings" action="?" method="post" >
  2.  
  3. <table border="0" cellpadding="5" cellspacing="0">
  4. <tr>
  5. <td align="right" width="40%"><b>Nazwa:</b></td>
  6. <td width="60%"> <input type="text" name="name" value="<?= htmlspecialchars($d['name']); ?>" size="50" /></td>
  7. </tr>
  8. <tr>
  9. <td align="right"><b>email:</b></td>
  10. <td> <input type="text" name="email" value="<?= htmlspecialchars($d['email']); ?>" size="50" /></td>
  11. </tr>
  12. <tr>
  13. <td align="right"><b>imie:</b></td>
  14. <td> <input type="text" id="imie" name="imie" value="<?= htmlspecialchars($d['imie']); ?>" size="50" /></td>
  15. </tr>
  16. <tr>
  17. <td align="right"><b>Kod pocztowy:</b></td>
  18. <td> <input type="text" name="zip" value="<?= htmlspecialchars($d['zip']); ?>" size="20" /></td>
  19. </tr>
  20. <tr>
  21. <td align="right"><b>Miasto:</b></td>
  22. <td> <input type="text" name="city" value="<?= htmlspecialchars($d['city']); ?>" size="20" /></td>
  23. </tr>
  24.  
  25. </table>
  26. <hr />
  27. <input class="button" type="submit" value="Zapisz zmiany" /></input>
  28. <a href="settings.php"><button type="button" class="button">Powrót</button></a>
  29. </form>
nospor
No i ciężko było samemu od razu to sprawdzić?

Cytat
w header link do pliku też jest.

Do jakiego znowu pliku? Pokaż lepiej cały kod, bo coś mieszasz i to ostro
Randallmaster
  1. <script type="text/javascript" src="../js/funkcje.js"></script>


chodziło mi o plik js
nospor
1) No ale pokaż zawartosc tego pliku....

2) $(document).ready(function(){ lepiej by było w kodzie gdzie formularz
Randallmaster
U góry jest wszystko podane:

js:

  1. $(document).ready(function(){
  2.  
  3. $("form#form_settings").submit(function() {
  4.  
  5. alert("Widzisz mnie??");
  6. return false;
  7.  
  8. });
  9.  
  10. });;


formularz:

  1. <form id="form_settings" action="?" method="post" >
  2.  
  3. <table border="0" cellpadding="5" cellspacing="0">
  4. <tr>
  5. <td align="right" width="40%"><b>Nazwa:</b></td>
  6. <td width="60%"> <input type="text" name="name" value="<?= htmlspecialchars($d['name']); ?>" size="50" /></td>
  7. </tr>
  8. <tr>
  9. <td align="right"><b>email:</b></td>
  10. <td> <input type="text" name="email" value="<?= htmlspecialchars($d['email']); ?>" size="50" /></td>
  11. </tr>
  12. <tr>
  13. <td align="right"><b>imie:</b></td>
  14. <td> <input type="text" id="imie" name="imie" value="<?= htmlspecialchars($d['imie']); ?>" size="50" /></td>
  15. </tr>
  16. <tr>
  17. <td align="right"><b>Kod pocztowy:</b></td>
  18. <td> <input type="text" name="zip" value="<?= htmlspecialchars($d['zip']); ?>" size="20" /></td>
  19. </tr>
  20. <tr>
  21. <td align="right"><b>Miasto:</b></td>
  22. <td> <input type="text" name="city" value="<?= htmlspecialchars($d['city']); ?>" size="20" /></td>
  23. </tr>
  24.  
  25. </table>
  26. <hr />
  27. <input class="button" type="submit" value="Zapisz zmiany" /></input>
  28. <a href="settings.php"><button type="button" class="button">Powrót</button></a>
  29. </form>
nospor
Cytuje jeszcze raz moją wypowiedź:
Cytat
2) $(document).ready(function(){ lepiej by było w kodzie gdzie formularz

ps: zakładam ze jquery w ogóle dołączasz?
Randallmaster
Cytat(nospor @ 20.03.2013, 10:05:48 ) *
Cytuje jeszcze raz moją wypowiedź:

ps: zakładam ze jquery w ogóle dołączasz?


jquery dołączone Działa ponieważ poza znacznikami $(document) wpisałem alert('test'); i wyświetla się wiadomość

to również dodane:

$(document).ready(function(){
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-2024 Invision Power Services, Inc.