$('ul.setup-panel li.active a').trigger('click'); $('#activate-step-2').on('click', function(e) { $('#nameATP input').blur(function() { if( $(this).val().length === 0 ) { $(this).parents('p').addClass('warning'); } else{ $('ul.setup-panel li:eq(0)').addClass('disabled'); //1 $('ul.setup-panel li:eq(1)').removeClass('disabled'); $('ul.setup-panel li a[href="#step-2"]').trigger('click'); $(this).remove(); } }); }) $('#activate-step-3').on('click', function(e) { $('ul.setup-panel li:eq(0)').addClass('disabled'); //1 $('ul.setup-panel li:eq(1)').addClass('disabled'); //2 $('ul.setup-panel li:eq(2)').removeClass('disabled'); $('ul.setup-panel li a[href="#step-3"]').trigger('click'); $(this).remove(); }) $('#activate-step-4').on('click', function(e) { $('ul.setup-panel li:eq(0)').addClass('disabled'); //1 $('ul.setup-panel li:eq(1)').addClass('disabled'); //2 $('ul.setup-panel li:eq(2)').addClass('disabled'); //3 $('ul.setup-panel li:eq(3)').removeClass('disabled'); $('ul.setup-panel li a[href="#step-4"]').trigger('click'); $(this).remove(); }) $('#activate-step-3').on('click', function(e) { $('ul.setup-panel li:eq(2)').removeClass('disabled'); $('ul.setup-panel li a[href="#step-3"]').trigger('click'); $(this).remove(); }) });
Moje pytanie i problem są w tym momencie:
$('#nameATP input').blur(function() { if( $(this).val().length === 0 ) { $(this).parents('p').addClass('warning'); } else{ $('ul.setup-panel li:eq(0)').addClass('disabled'); //1 $('ul.setup-panel li:eq(1)').removeClass('disabled'); $('ul.setup-panel li a[href="#step-2"]').trigger('click'); $(this).remove(); } });
Formularz ma 4 kroki. Załóżmy w pierwszym kroku jest jeden input. Chce by użytkonik nie mogl przejsc do drugiego kroku, wiec robie to co powyzej sprawdzam czy pole nie jest puste i zwracam blad. Jednak to się nie sprwadza. Dlatego ze pole zostaje sprawdzone i przycisk obslugujący nie chce poscic dalej (przy wypelnionym polu).
Moje pytanie dlaczego tak jest i jak to rozwiązać?
Z moich rozważań wychodzi, że jeśli wchodze w formularz (wczyta się strona) zostaje on sprawdzony, czyli kod dziala. Wyswietla blad dla pustego forma. Tylko, nie odświeża się to dynamicznie sprawdzając czy formularz już jest wypełniony...? Jednakze, czy JS nie dziala własnie dynamicznie i to nie powinno zadzialac? Być może moje mysli wogole odbiegaja od rzeczywistego powodu bledu.