Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2010, 10:49
SeaPirates
 
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é?