Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML]Drugi "button" nie działa
Forum PHP.pl > Forum > Przedszkole
castagir
Witam

Jestem zielony w JavaScript i niedawno skończyłem własny tok nauczania o tym języku.

Napotkałem taki problem:
Na jednej stronie html, robię formularz, który dzięki jquery wyświetla się w "krokach" - czyli, żeby przejść do następnej części, trzeba wypełnić prawidłowo najpierw pole formularza.
Niestety już na pierwszym kroku mam problem, bo pierwsza funkcja, która odpowiada za rozpoczęcie instalacji działa jak należy, natomiast druga już w ogóle nie rusza.

Oto kod java script:
  1. /* Załadowanie wszystkich funkcji i utworzenie zmiennych przechowujących informację o postępach instalacji */
  2. $(document).ready(function() {
  3. var postep;
  4. rozpocznijInstalacje();
  5. sprawdzKrok1();
  6. });
  7.  
  8. /* Funkcje niezbędne do przeprowadzenia dynamicznej instalacji ENDO */
  9. function rozpocznijInstalacje() {
  10. $('.rozpocznij').click(function() {
  11. var postep = 'krok1';
  12. $.ajax ({
  13. type :"POST",
  14. url :"instalator.php",
  15. data :{
  16. postep: postep
  17. },
  18. success: function(dane) {
  19. $('#pojemnikGlowny').html(dane);
  20. }
  21. });
  22. });
  23. }
  24. function sprawdzKrok1() {
  25. $('.sprawdzKrok1').click(function() {
  26. var wynikSprawdzenia;
  27. var wiadomosc = '<div class="wynikSprawdzenia">';
  28. var nazwaWitryny = $('textarea[name="nazwaWitryny"]').val();
  29. var opisWitryny = $('textarea[name="opisWitryny"]').val();
  30. var slowaKluczowe = $('textarea[name="slowaKluczowe"]').val();
  31. alert(nazwaWitryny);
  32. var prawidloweZnaki = /^([a-zA-Z_\.,])$/;
  33. if(!prawidloweZnaki.test(nazwaWitryny) || nazwaWitryny.val() == '') {
  34. nazwaWitrynyWynik = false;
  35. wiadomosc += '<p class="blad">Nazwa witryny jest nieprawidłowa!</p>';
  36. }
  37. else {
  38. nazwaWitrynyWynik = true;
  39. }
  40. if(!prawidloweZnaki.test(opisWitryny) || opisWitryny.val() == '') {
  41. opisWitrynyWynik = false;
  42. wiadomosc += '<p class="blad">Opis wistryny jest nieprawidłowy!</p>';
  43. }
  44. else {
  45. opisWitrynyWynik = true;
  46. }
  47. if(!prawidloweZnaki.test(slowaKluczowe) || slowaKluczowe.val() == '') {
  48. slowaKluczoweWynik = false;
  49. wiadomosc += '<p class="blad">Słowa kluczowe są nieprawidłowe!</p>';
  50. }
  51. else {
  52. slowaKluczoweWynik = true;
  53. }
  54.  
  55. if(nazwaWitrynyWynik == false || opisWitrynyWynik == false || slowaKluczoweWynik ==false) {
  56. wynikSprawdzenia = false;
  57. wiadomosc += '<p class="blad">Wypełnij pola jeszcze raz.</p></div>';
  58. $('#pojemnikGlowny').append(wiadomosc);
  59. }
  60. });
  61. }


Przycisk, który ma za zadanie wywołać tę funkcję to zwykły input:button.
Dodam jeszcze, że kod html formularza jest umieszczany dynamicznie poprzez wcześniejsze zapytanie do skryptu php, który odsyła całkowicie nowy fragment strony, tym samym usuwając poprzednią treść.
blahy
Co to znaczy dynamicznie dosyla? ajaxem?
.sprawdzKrok1 tez jest podmieniane?
zamiast $('.sprawdzKrok1').click(function() {
sprobuj $('body').on('click', '.sprawdzKrok1', function() {, albo odpal sobie ta funkcje jeszcze raz po podmienieniu contentu w success ajaxa.
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.