Explico mi problema y luego pego el código para que lo veáis.
Estoy utilizando jquery 1.4 para validar un formulario en el que se sube una imágen.
Con javascript validaba sin problemas hasta que añadí el campo "file". A partir de ahí, parece que el javascript no le pasa a mi php (el que uso para validar los datos) el campo imagen, si lo hace en cambio si desactivo javascript.
Alguien sabe como puede solventarse este error? Si es problema de mi código o es que no hay manera de validar el formulario de esta manera.
Supongo que se debe a algún error estúpido de programación, porque me extrañaría que no se pudiera hacer.
Paso a pegar el código.
Este es el código del formulario.
Código HTML:
Ver original
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"> <head> <script type="text/javascript"> //<![CDATA[ $(document).ready(function(){ $('#form1').submit(function(e) {register();e.preventDefault();}); }); function register(){ hideshow('loading',1); $.ajax({type:"POST",url:"act_upload.php?js=1",data: $('#form1').serialize(),dataType:"json", success: function(msg){ if(parseInt(msg.status)==1){window.location=msg.txt;}else if(parseInt(msg.status)==0){error(1,msg.txt);} hideshow('loading',0); }}); } function hideshow(el,act){ if(act) $('#'+el).css('visibility','visible'); else $('#'+el).css('visibility','hidden'); } function error(act,txt){ hideshow('error',act); if(txt) $('#error').html('<p class="error_form">'+txt+'<\/p>'); } //]]> </script> </head> <body> <form name="form1" id="form1" enctype="multipart/form-data" method="post" action="act_upload.php" /> </form> </body> </html>
Este es el código del php para validar, posteo lo básico para ver el error.
Código PHP:
Ver original
Cuando se llega a la validación por javascript, siempre devuelve que la image NO está, y cuando se desactiva javascript, se llega a que la imágen si está.
Es que no llega ni siquiera a hacer la subida del fichero, simplemente es que no llega el campo con la imágen.
Alguna idea?
Ayuda porfavor, llevo muchas horas perdidas con esto y tengo que sacarlo ya o me van a dar una buena patadita en el culo XD
Gracias a todos por adelantado.