Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Pasar form de upload por ajax

Estas en el tema de Pasar form de upload por ajax en el foro de Frameworks JS en Foros del Web. Hola tengo este formulario: Código: <script language="javascript" src="js/jquery-1.3.min.js"></script> <script language="javascript"> $(document).ready(function() { $().ajaxStart(function() { $('#loading').show(); $('#result').hide(); }).ajaxStop(function() { $('#loading').hide(); $('#result').fadeIn('slow'); }); $('#form, #fat, #fo3').submit(function() { ...
  #1 (permalink)  
Antiguo 03/12/2010, 10:49
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Pasar form de upload por ajax

Hola tengo este formulario:


Código:
<script language="javascript" src="js/jquery-1.3.min.js"></script>
<script language="javascript">
$(document).ready(function() {
    $().ajaxStart(function() {
        $('#loading').show();
        $('#result').hide();
    }).ajaxStop(function() {
        $('#loading').hide();
        $('#result').fadeIn('slow');
    });
    $('#form, #fat, #fo3').submit(function() {
        $.ajax({
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function(data) {
                $('#result').html(data);

            }
        })
        
        return false;
    }); 
})
</script>

 <form action="change_avatar.php" id="fo3" method="post" enctype="multipart/form-data">

      <input name="archivo" type="file" class="casilla" id="archivo" size="35" />
      <input name="enviar" type="submit" class="boton" id="enviar" value="Upload File" />
	</form>
<div id="result"></div>
Y luego el php

Código PHP:
<?php 
if ($_POST["enviar"]) {
    
// obtenemos los datos del archivo 
    
$tamano $_FILES["archivo"]['size'];
    
$tipo $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
    
$prefijo substr(md5(uniqid(rand())),0,6);
    
    if (
$archivo != "") {
        
// guardamos el archivo a la carpeta files
        
$destino =  "avatars/".$prefijo."_".$archivo;
        if (
copy($_FILES['archivo']['tmp_name'],$destino)) {
            echo 
$destino;
        } else {
            echo 
"Error al subir el archivo";
        }
    } else {
        echo 
"Error al subir archivo";
    }
}
?>

Funciona si no uso el ajax, pero si lo uso ya no lo envia, ¿por qué?
  #2 (permalink)  
Antiguo 03/12/2010, 12:46
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
Respuesta: Pasar form de upload por ajax

Porque no se pueden subir archivos x ajax
  #3 (permalink)  
Antiguo 08/12/2010, 12:51
 
Fecha de Ingreso: noviembre-2010
Mensajes: 47
Antigüedad: 14 años
Puntos: 2
Respuesta: Pasar form de upload por ajax

Cita:
Iniciado por catpaw Ver Mensaje
Porque no se pueden subir archivos x ajax
Es cierto lo que te dicen, pero se puede simular mediante un iframe oculto creado mediante javascript, veo que usas jquery, existen algunos plugins que te solucionan el problema, simplemente googlea y listo!!.

Saludos.

Etiquetas: ajax, pasar, upload, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:45.