Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2013, 09:33
Avatar de jandrogdz
jandrogdz
 
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 10 meses
Puntos: 12
Subir imagenes con ajax

Buenas foro.

Estoy tratando de subir imagenes con ajax a mi server.
Esto al parecer lo he logrado con un script que encontre, pero ahora mi problema es como hacer para que la pagina no se recargue.

Si en el script añado el evento change en addEventListener la pagina no se recarga pero solo se enviaria la imagen y necesito que se mande todo el formulario al hacer click en el submit sin que se recargue la pagina.

Código Javascript:
Ver original
  1. (function () {
  2.     var input = document.getElementById("images"),
  3.         formdata = false;
  4.  
  5.     if (window.FormData) {
  6.         formdata = new FormData();
  7.         var btnLoad = document.getElementById("btn").style.display = "block";
  8.     }
  9.    
  10.     btnLoad.addEventListener("click", function (evt) {
  11.         document.getElementById("response").innerHTML = "Uploading . . ."
  12.         var i = 0, len = this.files.length, img, reader, file;
  13.    
  14.         for ( ; i < len; i++ ) {
  15.             file = this.files[i];
  16.    
  17.             if (!!file.type.match(/image.*/)) {
  18.                 if ( window.FileReader ) {
  19.                     reader = new FileReader();
  20.                     reader.onloadend = function (e) {
  21.                         showUploadedItem(e.target.result, file.fileName);
  22.                     };
  23.                     reader.readAsDataURL(file);
  24.                 }
  25.                 if (formdata) {
  26.                     formdata.append("images", file);
  27.                 }
  28.             }  
  29.         }
  30.        
  31.         if (formdata) {
  32.             $.ajax({
  33.                 url: "upload.php",
  34.                 type: "POST",
  35.                 data: formdata,
  36.                 processData: false,
  37.                 contentType: false,
  38.                 success: function (res) {
  39.                     document.getElementById("response").innerHTML = res;
  40.                 }
  41.             });
  42.         }
  43.     }, false);
  44. }());

Tengo poco utilizando ajax. Espero me puedan ayudar.
__________________
Lo imposible solo cuesta un poco mas