Necesitas devolver un objeto con cada mensaje a mostrar, aunque si trabajas con navegadores que soporten HTML5, el tema de las validaciones de campos vacíos podrás hacerlo añadiendo el atributo
required
a cada campo:
Por cierto, para poder obtener los valores de los campos en el archivo PHP, en lugar de asignar clases a los campos, deben ser nombres, justo como en el ejemplo anterior.
Para la respuesta final, como la estás imprimiendo en el archivo PHP, solo tienes que tomar al elemento en el cual deseas mostrarla y asignársela como contenido:
Código Javascript
:
Ver originalsuccess: function(msg){
$("#mensaje_general").text(msg);
}
Por cierto, para que la petición asíncrona (AJAX) se ejecute con normalidad, primero necesitas cancelar el envío del formulario. Para ello, puedes retornar el valor booleano
false
o utilizar el método
.preventDefault()
:
Código Javascript
:
Ver original$("#id del formulario").on("submit", function(event){
event.preventDefault();
//El resto de instrucciones
});
Aunque al darle clic al botón de envío se realice el envío de los datos del formulario, es preferible asociar el evento
submit
, el cual ocurre cuando se incia el procesamiento de un formulario, al formulario.
P. D.: Me parece que la condición para imprimir el mensaje final no es correcta. Si es como lo imagino, debe de imprimirse el mensaje de éxito cuando se encuentren coincidencias en la base de datos y el de error cuando eso no suceda, pero depende de qué estés haciendo.
Un saludo