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:
/* Załadowanie wszystkich funkcji i utworzenie zmiennych przechowujących informację o postępach instalacji */ $(document).ready(function() { var postep; rozpocznijInstalacje(); sprawdzKrok1(); }); /* Funkcje niezbędne do przeprowadzenia dynamicznej instalacji ENDO */ function rozpocznijInstalacje() { $('.rozpocznij').click(function() { var postep = 'krok1'; $.ajax ({ type :"POST", url :"instalator.php", data :{ postep: postep }, success: function(dane) { $('#pojemnikGlowny').html(dane); } }); }); } function sprawdzKrok1() { $('.sprawdzKrok1').click(function() { var wynikSprawdzenia; var wiadomosc = '<div class="wynikSprawdzenia">'; var nazwaWitryny = $('textarea[name="nazwaWitryny"]').val(); var opisWitryny = $('textarea[name="opisWitryny"]').val(); var slowaKluczowe = $('textarea[name="slowaKluczowe"]').val(); alert(nazwaWitryny); var prawidloweZnaki = /^([a-zA-Z_\.,])$/; if(!prawidloweZnaki.test(nazwaWitryny) || nazwaWitryny.val() == '') { nazwaWitrynyWynik = false; } else { nazwaWitrynyWynik = true; } if(!prawidloweZnaki.test(opisWitryny) || opisWitryny.val() == '') { opisWitrynyWynik = false; } else { opisWitrynyWynik = true; } if(!prawidloweZnaki.test(slowaKluczowe) || slowaKluczowe.val() == '') { slowaKluczoweWynik = false; } else { slowaKluczoweWynik = true; } if(nazwaWitrynyWynik == false || opisWitrynyWynik == false || slowaKluczoweWynik ==false) { wynikSprawdzenia = false; $('#pojemnikGlowny').append(wiadomosc); } }); }
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ść.