Estoy creando un formulario que envía mediante post (ajax) los datos de dicho formulario y actuliza la base de datos.
Todo va bien, excepto el campo imagen que quiero subir a mi servidor.
No se porqué, pero si lo hago sin jquery y uso simplemente un post funciona, envía la imagen (no el nombre de la imagen, esto si lo recibo).
js
Código:
$('#form-alquiler').submit(function(e){ // alert('adsf'); e.preventDefault(); params = $(this).serialize(); $.ajax({ url: "/ajax/modificar-alquiler.php", async:true, beforeSend: function(objeto){ //$.prettyLoader.show(); $('label').css('color','#000');; }, complete: function(objeto, exito){ //$.prettyLoader.hide(); }, data : params, dataType: "json", error: function(objeto, quepaso, otroobj){ alert("Ha sucedido un error inesperado"); }, success: function(data){ if (data.exito == true) { $('#form-alquiler').hide(); $('#datos-ok').show('fast'); }else { alert(data.error); for (var ee in data.error_fields) { $('label[for='+data.error_fields[ee]+']').css('color','#f00'); } } }, type: "POST" }); });
formulario
Código:
<form action="/cuenta/alquileres" id="form-alquiler" method="post" enctype="multipart/form-data" onsubmit="return;"> <label class="control-label" for="a_titulo">Título</label> <input type="text" class="input-xxlarge" placeholder="Título" name="a_titulo" id="a_titulo" placeholder="Nombre" maxlength="50" value="'.$row['alquiler_titulo'].'" /> <label class="control-label" for="a_imagen">Imagen</label> <input type="file" value="'.$row['alquiler_img'].'" name="a_imagen"> <button type="submit" cname="r_datos" id="r_datos" >Modificar datos</button> </form>
Les agradecería cualquier tipo de ayuda.