Posiadam aplikacje typu SPA do której próbuje podpiąć zewnętrzny skrypt jQuery. Skrypt ten odpowiedzialny jest za walidacje formularza. Zdarzenie event w formularzu działa ale wyłącznie w sytuacji gdy:
- Wczytam bezpośrednio podstronę z formularzem.
- Odświeżę podstronę z formularzem.
Nie jestem w stanie wymusić działania skryptu po standardowym wczytaniu strony głównej a następnie przechodząc do zakładki z formularzem. Podstrona się ładuje, kod HTML formularza także ale walidacja nie działa. Próbowałem różnych kombinacji z atrybutem defer jak i umieszczeniem skryptu w głównym pliku index.html ale nic to nie daje. Ktoś wie jak to ugryźć?
jQuery(window).load(function(){
$('#contactform').submit(function(){
var action = $(this).attr('action');
$('#submit').attr('disabled','disabled').after('<img src="assets/ajax-loader.gif" class="loader" />');
$("#message").slideUp(750,function() {
$('#message').hide();
$.post(action, {
name: $('#name').val(),
email: $('#email').val(),
phone: $('#phone').val(),
subject: $('#subject').val(),
comments: $('#comments').val(),
verify: $('#verify').val()
},
function(data){
document.getElementById('message').innerHTML = data;
$('#message').slideDown('slow');
$('#contactform img.loader').fadeOut('fast',function(){$(this).remove()});
$('#submit').removeAttr('disabled');
if(data.match('success') != null) $('#contactform').slideUp('slow');
}
);
});
return false;
});
});