Tengo un form donde necesito guardar datos desde un formulario con ajax.
El problema es que cuando envio el formulario sin ajax la imagen si se envia, pero cuando utilizo la funcion para procesar el formulario el nombre de la imagen no llega alguien me puede ayudar.
formulario:
Código HTML:
Ver original
<form method="post" name="formprovedo" id="formprovedo" enctype="multipart/form-data" > <div class="photo" onmouseover="javascript:document.getElementById('capa1').style.visibility='visible';" onmouseout="javascript:document.getElementById('capa1').style.visibility='hidden';"> <div id="capa1"> <div class="upload"> <input name="uploadedfile" id="uploadedfile" type="file" title=".::Debes de elejir un archivo::." onchange="readURL(this);" /> </div> </div> </div> <label> <input type="text" name="provedo" id="provedo" autocomplete="off" onblur="alfanumerico(this);" /> <input type="hidden" name="objectID" id="objectID" /> </label> <label> <input type="text" name="categoria" id="categoria" onblur="texto(this);" autocomplete="off" /> <input type="hidden" name="id_categoria" id="id_categoria" /> </label> <label> <select name="tipo" id="lista"> </select> </label> <label> <input type="text" name="prod_serv" id="prod_serv" onblur="alfanumerico(this);" autocomplete="off" /> </label> <label for="desc"> </label> <input type="submit" value="Guardar datos" /> </fieldset> </form>
function ajax:
Código Javascript:
Ver original
$(function(){ $("#formprovedo").submit(function(){ $.ajax({ type:"POST", url:"accion.php?accion=agregar", dataType:"html", data:$(this).serialize(), beforeSend:function(){ $("#loading").show(); }, success:function(response){ $("#response").html(response); $("#loading").hide(); } }) return false; }) })
y asi recibo los datos:
Código PHP:
Ver original
$provedo = $_POST["provedo"]; $id_provedo = $_POST["objectID"]; $categoria = $_POST["categoria"]; $id_categoria = $_POST["id_categoria"]; $prod_serv = $_POST["prod_serv"]; $desc = $_POST["desc"]; $ruta ='../images/productos'; $temp = $_FILES['uploadedfile']['tmp_name']; $nombreImagen = $_FILES['uploadedfile']['name']; $ruta = $ruta."/".$nombreImagen; $tipo = $_POST["tipo"];
Alguien sabe porque cuando utilizo la function de ajax no m manda la imagen?
espero me puedan ayudar.