Primeramente decir que espero que tengan un buen año a todos :D
Ahora vamos a por el "pequeño" problema que tengo.
Estoy haciendo un formulario en el que tengo que subir un fichero al servidor.
Para validar el formulario uso Jquery validate() y posteriormente serialize() para obtener los datos y pasarlos a PHP.
Todo funciona perfectamente salvo cuando llega el momento de usar un input type="file" Para empezar por lo visto serialize() no es capaz de reconocer dichos campos (o eso me ha parecido entender) y no hay manera de conseguir que PHP reciba los datos.
El campo file tiene su respectivo name e id. ¿Hay alguna manera de pasarle los datos a PHP mediante el $.ajax
Os dejo el código aunque es muy sencillo.
Código Javascript:
Ver original
$('#formPrincipal').validate({ rules:{ /* el campo file no tiene regla y como los demás funcionan correctamente lo he limpiado */ }, submitHandler:function(){ var cadena = $('#formPrincipal').serialize(); alert(cadena); /*Simple prueba, posteriormente lo quitaré */ $.ajax({ beforeSend: function(){ }, cache:false, type: "POST", dataType: "json", url:"php/upload.php", data:cadena + "&t=1&accion=add&idr=" + Math.random(), success: function(response){}, error:function(){} }); return false; }, errorPlacement: function(error, element){ error.appendTo(element.prev("span").append()); } });
Gracias a todos de antemano.