Foros del Web » Programando para Internet » Javascript »

Recuperar script para subir multiples archivos con un solo input del FAQ

Estas en el tema de Recuperar script para subir multiples archivos con un solo input del FAQ en el foro de Javascript en Foros del Web. Vuelvo a dar guerra Vereis hace tiempo hice una pregunta que me contesto perfectamente Caricatos y se curro un pequeño script que cumplia su funcion ...
  #1 (permalink)  
Antiguo 27/04/2008, 05:39
 
Fecha de Ingreso: septiembre-2005
Ubicación: España
Mensajes: 78
Antigüedad: 18 años, 7 meses
Puntos: 0
Recuperar script para subir multiples archivos con un solo input del FAQ

Vuelvo a dar guerra
Vereis hace tiempo hice una pregunta que me contesto perfectamente Caricatos y se curro un pequeño script que cumplia su funcion a la perfeccion y que acabo en el indice de FAQ y propuesto a desafios JavaScript.

El Script
http://www.forosdelweb.com/2344564-post265.html

Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<
html>
<
head>
<
title>
    
http://www.caricatos.net/probador
</title>
<
script>
function 
tag(id) {return document.getElementById(id)};
var 
actual total 0;
var 
maximo 5;
function 
listar(f)    {
    if (
actual == total)    {
        
actual = ++total;
        
nuevo document.createElement("div");
        
nuevo.onclick = function() {
            
tag("file_" actual).style.display "none";
            
tag("elemento_" actual).style.backgroundColor "white";
            
actual this.id.substr(9);
            
tag("file_" actual).style.display "inline";
            
tag("elemento_" actual).style.backgroundColor "#eeeeee";
        }
        
nuevo.id "elemento_" + (actual 1);
        
tag("listado").appendChild(nuevo);
        
nuevo.appendChild(document.createTextNode(f.value));
        
nuevo.style.cursor "pointer";
        if (
total maximo)    {
            
nuevof f.cloneNode(true);
            
f.style.display "none";
            
nuevof['value'] = "";
            
nuevof.id "file_" actual;
            
f.parentNode.insertBefore(nuevoff.nextSibling);
        }
        else    {
            
tag("oculto").style.display "none";
            
actual 4;
            
tag("elemento_" actual).style.backgroundColor "#eeeeee";
        }
    }
    else    {
        
elem tag("elemento_" actual);
        
elem.replaceChild(document.createTextNode(f.value), elem.firstChild);
        
//tag("elemento_" + actual).innerHTML = f.value;
    
}
}
</script>
</head>

<body>
    <form action="javascript: alert('Ok')" >
        <input type="file" onchange="listar(this)" name="userfile[]" id="file_0" size="50" />
        <button type="submit"> enviar </button>
    </form>
    <div id="listado" style="position: relative; background-color: white">
        <div id="oculto" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: transparent">
        </div>
    </div>
</body>
</html> 
El problema viene en que el script tiene un error que muestra IE 6 y IE 7 al hacer click sobre el texto que nombra cualquier de los archivos seleccionados que aparece dentro del div, siempre y cuando no se hallan seleccionado el limite de archivos maximo. Desaparece el input de seleccion de archivos.

Error que muestra IE6 y IE7
--------------------------------------------
Linea: 17
Caracter: 4
Error: Se requiere un objeto.
--------------------------------------------

Bueno el caso me gustaria recuperar el post pues tengo mucho interes en el y ver si alguien dado que no tengo ni idea de JavaScript puede corregir el error que presenta.

... Y ya puestos a pedir si puede hacer que aparezca un texto o boton al lado de los archivos seleccionados dentro del div para quitar un archivo seleccionado seria perfecto. Vamos una copia del sistema de seleccion de archivos de GMAIL de Google.

Un saludo a todos y gracias de antemano.
  #2 (permalink)  
Antiguo 28/04/2008, 02:36
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 18 años, 9 meses
Puntos: 4
Re: Recuperar script para subir multiples archivos con un solo input del FAQ

Hola brainstorm, revisa este script, está muy bueno y es facilmente implementable


Enviar y/o subir multiples archivos adjuntos al estilo GMail


Saludos
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #3 (permalink)  
Antiguo 28/04/2008, 09:49
 
Fecha de Ingreso: septiembre-2005
Ubicación: España
Mensajes: 78
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Recuperar script para subir multiples archivos con un solo input del FAQ

Gracias Gerifaltus

El problema y su diferencia con el que me recomiendas es que necesitaba conservar name="userfile[]" en todos los input file pues para el script en php al que va dirigido es imprescindible.
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 16:04.