jQuery validator plugin + ajax que envía no funciona
Utilizo el complemento de validación jQuery (1.11) de bassistance.de y lo envío a través de php. Ahora agregué una llamada ajax en el controlador de envío al final del código javacript, pero la llamada no funciona, ni existe para la consola firebug.
CASO 1 Si pongo la llamada ajax al principio del sitio, funciona, pero el complemento del validador ya no se ve.
CASO 2 Si pongo la llamada dentro del controlador de envío, no existe y php envía el formulario.
CASO 3 Si pongo el código al final de la página, el formulario de contacto aún es enviado por php.
Aquí está la llamada ajax:
$("#contactform").submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "formfiles/submit.php",
data: $(this).serialize(),
success: function() {
$('#contactform').html("<div id='message'></div>");
$('#message').html("<h2>Your request is on the way!</h2>")
.append("<p>someone</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/ok.png' />");
});
}
});
return false;
});
¿Alguien sabe que está mal?
Gracias de antemano por cualquier ayuda, luchando con mi cabeza por esto.
EDITAR Para entender mejor el problema, aquí está el javascript completo.
$(document).ready(function(){
$("#contactform").validate();
$(".chapta").rules("add", {maxlength: 0});
var validator = $("#contactform").validate({
ignore: ":hidden",
rules: {
name: {
required: true,
minlength: 3
},
cognome: {
required: true,
minlength: 3
},
subject: {
required: true,
},
message: {
required: true,
minlength: 10
}
},
submitHandler: function(form) {
$("#contactform").submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "formfiles/submit.php",
data: $(this).serialize(),
success: function() {
$('#contactform').html("<div id='message'></div>");
$('#message').html("<h2>Your request is on the way!</h2>")
.append("<p>someone</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/ok.png' />");
});
}
});
return false;
});
},
});
});
Editar 2
Los selectores y todo lo demás parecen estar bien.
<form action="#n" class="active" method="post" name="contactform" id="contactform">