Foros del Web » Programando para Internet » Jquery »

convertir iframe uploader de jQuery en multiple uploader

Estas en el tema de convertir iframe uploader de jQuery en multiple uploader en el foro de Jquery en Foros del Web. Tengo un plugins de jquery que sube archivos de un formulario usando un iframe. Lo utilizaré como alternativa para quienes no quieran flash. Actualmente el ...
  #1 (permalink)  
Antiguo 03/10/2011, 13:28
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
convertir iframe uploader de jQuery en multiple uploader

Tengo un plugins de jquery que sube archivos de un formulario usando un iframe. Lo utilizaré como alternativa para quienes no quieran flash.

Actualmente el plugin envía todos los campos de tipo "file" a la vez. Pero me gustaría adaptar el script para que vaya enviando los items uno a uno, y obteniendo una respuesta por cada archivo subido.

Les pido si me orientan porque no se escribir plugins y no entiendo en donde mete los inputs dentro del iframe. Mi idea es hacer un bucle o quizas crear una instancia del plugin por cada input (en vez de aplicar el plugin directo al form). Que ven más factible?

Código Javascript:
Ver original
  1. /**
  2.  * jQuery plugin for posting form including file inputs.
  3.  *
  4.  * Copyright (c) 2010 - 2011 Ewen Elder
  5.  *
  6.  * Licensed under the MIT and GPL licenses:
  7.  * http://www.opensource.org/licenses/mit-license.php
  8.  * http://www.gnu.org/licenses/gpl.html
  9.  *
  10.  * @author: Ewen Elder <ewen at jainaewen dot com> <glomainn at yahoo dot co dot uk>
  11.  * @version: 1.1.1 (2011-07-29)
  12. **/
  13. (function ($)
  14. {
  15.     $.fn.iframePostForm = function (options)
  16.     {
  17.         var response,
  18.         returnReponse,
  19.         element,
  20.         status = true,
  21.         iframe;
  22.        
  23.         options = $.extend({}, $.fn.iframePostForm.defaults, options);
  24.        
  25.        
  26.         // Add the iframe.
  27.         if (!$('#' + options.iframeID).length)
  28.         {
  29.             $('body').append('<iframe id="' + options.iframeID + '" name="' + options.iframeID + '" style="display:none" />');
  30.         }
  31.        
  32.        
  33.         return $(this).each(function ()
  34.         {
  35.             element = $(this);
  36.            
  37.            
  38.             // Target the iframe.
  39.             element.attr('target', options.iframeID);
  40.            
  41.            
  42.             // Submit listener.
  43.             element.submit(function ()
  44.             {
  45.                 // If status is false then abort.
  46.                 status = options.post.apply(this);
  47.                
  48.                 if (status === false)
  49.                 {
  50.                     return status;
  51.                 }
  52.                
  53.                
  54.                 iframe = $('#' + options.iframeID).load(function ()
  55.                 {
  56.                     response = iframe.contents().find('body');
  57.  
  58.                     console.log(response.html());
  59.                     if (options.json)
  60.                     {              
  61.                         try
  62.                         {
  63.                         returnReponse = $.parseJSON(response.html());
  64.                         } catch(err){
  65.                             returnReponse = response.html();
  66.                         }
  67.                     }
  68.  
  69.                     else
  70.                     {
  71.                         returnReponse = response.html();
  72.                     }
  73.  
  74.  
  75.                     options.complete.apply(this, [returnReponse]);
  76.  
  77.                     iframe.unbind('load');
  78.  
  79.  
  80.                     setTimeout(function ()
  81.                     {
  82.                         response.html('');
  83.                     }, 1);
  84.                 });
  85.             });
  86.         });
  87.     };
  88.    
  89.    
  90.     $.fn.iframePostForm.defaults =
  91.     {
  92.         iframeID : 'iframe-post-form',       // Iframe ID.
  93.         json : false,                        // Parse server response as a json object.
  94.         post : function () {},               // Form onsubmit.
  95.         complete : function (response) {}    // After response from the server has been received.
  96.     };
  97. })(jQuery);

Etiquetas: html, iframe, js, php, uploader
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 20:42.