|    
			
				25/02/2011, 14:29
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: noviembre-2010 
						Mensajes: 11
					 Antigüedad: 14 años, 11 meses Puntos: 1 |  | 
  |  Respuesta: Upload asincrónicamente jquery  
  Aqui esta una posible solucion:
 La vista quedaria como lo muestro, hay que notar que incluyo tambien el script que configura la validacion del lado cliente, y las apis que agrego puedes conseguirlas en los sitios respectivos de jquery y los plugins.
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>Ajax Upload</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
 <script type="text/javascript" src="js/jquery-1.4.3.min.js" ></script>
 <script type="text/javascript" src="js/jquery.validate.min.js" ></script>
 <script type="text/javascript" src="js/jquery.form.js" ></script>
 <script>
 
 
 function upload(){
 
 if($("#frmUpload").valid())
 
 $("#frmUpload").ajaxSubmit({
 dataType:'xml',
 success:function(error){
 
 if($(error).text()=="0")
 alert("Extio en Carga");
 else
 alert("Error en Carga");
 },
 resetForm:true
 });
 
 }
 
 $(document).ready(
 function(){
 
 $('#frmUpload').validate(
 {
 rules:{
 archivo:{
 required:true
 }
 },
 messages:{
 archivo:{
 required:'Cargue un archivo'
 }
 }
 });
 
 });
 
 </script>
 </head>
 
 <body>
 
 <form name="frmUpload" id="frmUpload" method="post" enctype="multipart/form-data" action="upload.php" >
 <table>
 <tr>
 <td><label for="archivo">Archivo:</label></td>
 <td><input type="file" id="archivo" name="archivo" value="" /></td>
 </tr>
 <tr>
 <td></td>
 <td><input type="button" id="btnUpload" name="btnUpload" value="Guardar" onclick="upload();" /></td>
 </tr>
 </table>
 </form>
 
 </body>
 </html>
 
 
 El script de carga de archivos puede ser de la forma tradicional con la excepcion de que debemos considerar que debe enviar la respuesta al script de envio asincrono
 
 <?php
 
 function upload($inputName){
 
 if(isset($_FILES[$inputName]))
 $target_path = getcwd().DIRECTORY_SEPARATOR."files\\".$_FILES[$inputName]['name'];
 else
 return false;
 
 if(move_uploaded_file($_FILES[$inputName]['tmp_name'], $target_path))
 return true;
 else
 if($_FILES[$inputName]['error']==0)
 return true;
 
 return false;
 }
 
 $result = upload("archivo");
 echo $result?"0":"1";
 
 ?>
 
 Y he  aqui una solucion simple al tu problema =)
     |