Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][HTML]Mały problem ze skryptem w JS.
David_Rook
post 29.10.2012, 23:21:20
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.08.2012

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


Witam,

Panowie proszę o pomoc w sprawie pewnego skryptu napisanego w JS, bo mi już pomysłów brak....

Otóż, skrypt ma za zadanie sprawdzenie czy wartość kredytu jest większa od wartości nieruchomości podczas kliknięcia przycisku Szukaj w formularzu.
Skrypt działa poprawnie, tzn. gdy wypełnimy wszystkie pola formularza oraz specjalnie wpiszemy za dużą kwotę kredytu względem wartości nieruchomości skrypt wykona się, wyświetli stosowny komunikat i nie pozwoli na wykonanie się formularza.

Problem pojawia się, gdy po raz pierwszy bez wypełnionych pól ktoś wciśnie przycisk Szukaj, wtedy uruchomi się wtyczka odpowiedzialna za walidację (jquery.validate.min.js) wyświetli informację, że pola te są wymagane, uzupełnimy je tak jak wcześniej złymi wartościami, tj. kwota kredytu większa niż nieruchomość i akcja formularza nie wykonuje się ale nei wyświetla się stosowna informacja. Sprawdzałem to w firebug'u, kombinowałem, ale już nie mam pomysłu... Jeśli zmienimy wartości na dobre akacja formularza się wykonuje i zapytanie MySQL również.

Jakieś pomysły, podpowiedzi?

Z góry dziękuję smile.gif

Poniżej kod JS skryptu oraz sposób w jaki go dodaję do HTML.

  1. <script type="text/javascript">
  2.  
  3. function validate(event)
  4. {
  5. with (document.forms[0])
  6. {
  7. if ((kredyt.value == '') && (wartosc_nieruchomosci.value == ''))
  8. {
  9. return;
  10. }
  11. if (kredyt.value > wartosc_nieruchomosci.value)
  12. {
  13. event.preventDefault();
  14. if( $('#errors').html() == '')
  15. {
  16. $('#errors').append("<p>Kredyt jest większy od Nieruchomości!</p>");
  17. }
  18. }
  19.  
  20. }
  21. }
  22.  
  23.  
  24. </script>


Przycisk:
  1. <div>
  2. <button class="awesome" onclick="validate(event);">SZUKAJ!</button>
  3. <div id="errors" class="error" style="float: right;"></div>
  4. </div>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
morbic
post 30.10.2012, 01:27:30
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 29
Dołączył: 13.12.2010
Skąd: Warszawa

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


A co gdybyś zamiast onClick użył buttona wewnątrz form (input type="submit") i podpiął się z własna funkcją pod cały formularz za pomocą submit() w jQuery zwracając z niej false w przypadku niepowodzenia?

  1. <div>
  2. <form action="moj_super_skrypt.php" method="POST" id="moj_super_formularz">
  3. <input type="text" id="input_kredyt" name="kredyt" value="" />
  4. <input type="text" id="input_nieruchomosci" name="nieruchomosci" value="" />
  5. <input type="submit" class="awesome" name="submit" value="SZUKAJ!" />
  6. </form>
  7. <div id="errors" class="error" style="float: right;"></div>
  8. </div>
  9.  
  10. <script type="text/javascript">
  11. $(document).ready(function() {
  12. $("#moj_super_formularz").submit(function() {
  13. if ($("#input_kredyt").val() == '' || $("#input_nieruchomosci").val() == '')
  14. {
  15. return false;
  16. }
  17.  
  18. if (parseInt($("#input_kredyt").val()) > parseInt($("#input_nieruchomosci").val()))
  19. {
  20. $('#errors').html("<p>Kredyt jest większy od Nieruchomości!</p>");
  21. return false;
  22. }
  23. });
  24. });


--------------------
"Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
Go to the top of the page
+Quote Post
David_Rook
post 3.11.2012, 02:00:07
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 14.08.2012

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


Niestety nie dziala... sad.gif

Tzn jest tak jak w moim przypadku - skrypt blokuje wykonanie akcji formularza, ale nie wyświetla informacji...
----------------------------------------------------
Temat można zamknąć, problem rozwiązany.

Ten post edytował David_Rook 3.11.2012, 02:00:30
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:28