Hola,
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.