Foros del Web » Programando para Internet » Javascript »

Upload multiple dinamico

Estas en el tema de Upload multiple dinamico en el foro de Javascript en Foros del Web. Tengo el siguiente script para la generacion dinamica de controles tipo File para upload multiple. Pero tengo un problema. En IE me reconoce muy bien ...
  #1 (permalink)  
Antiguo 27/12/2006, 03:38
 
Fecha de Ingreso: noviembre-2006
Mensajes: 2
Antigüedad: 18 años, 1 mes
Puntos: 0
Upload multiple dinamico

Tengo el siguiente script para la generacion dinamica de controles tipo File para upload multiple. Pero tengo un problema. En IE me reconoce muy bien los eventos javascript y me ejecuta el codigo como deseo . puedo añadir y quitar tantos elementos File como desee. Pero mi problema esta al hacerlo funcionar en Firefox , no me reconoce el evento de eliminar File, en cambio añadir si me funciona . Necesito ayuda urgente!!!!

Gracias!!!!
Código HTML:
<script language="javascript">	
		var upload_number; //Esta es una variable de control para mantener nombres diferentes de cada campo creado dinamicamente.
	
	//Aqui se hace lamagia... jejeje, esta funcion crea dinamicamente los nuevos campos file
	addCampo = function () {
		upload_number = document.form1.upload_number.value;
		if (upload_number == (-1))
		{
			upload_number=2;
		}
	//Creamos un nuevo div para que contenga el nuevo campo
	   nDiv = document.createElement('div');
	//con esto se establece la clase de la div
	   nDiv.className = 'archivo';
	//este es el id de la div, aqui la utilidad de la variable numero
	//nos permite darle un id unico
	   nDiv.id = 'file' + upload_number;
	//creamos el input para el formulario:
	   nCampo = document.createElement('input');
	//le damos un nombre, es importante que lo nombren como vector, pues todos los campos
	//compartiran el nombre en un arreglo, asi es mas facil procesar posteriormente con php
	   nCampo.name = 'archivo'+upload_number;
	//Establecemos el tipo de campo
	   nCampo.type = 'file';
	   nCampo.size = '85';
	   nCampo.title = 'archivo'+upload_number;
	//Ahora creamos un link para poder eliminar un campo que ya no deseemos
	   a = document.createElement('a');
	//El link debe tener el mismo nombre de la div padre, para efectos de localizarla y eliminarla
	   a.name = nDiv.id;
	//Este link no debe ir a ningun lado
	   a.href = '#';
	//Establecemos que dispare esta funcion en click
	   a.onclick = elimCamp;
	//Con esto ponemos el texto del link
	   a.innerHTML = '<font face="Verdana" size="-1" color="#003883">Delete</font>';
	//Bien es el momento de integrar lo que hemos creado al documento,
	//primero usamos la función appendChild para adicionar el campo file nuevo
	   nDiv.appendChild(nCampo);
	//Adicionamos el Link
	   nDiv.appendChild(a);
	//Ahora si recuerdan, en el html hay una div cuyo id es 'adjuntos', bien
	//con esta función obtenemos una referencia a ella para usar de nuevo appendChild
	//y adicionar la div que hemos creado, la cual contiene el campo file con su link de eliminación:
	   container = document.getElementById('adjuntos');
	   container.appendChild(nDiv);
	   ++upload_number;
	   document.form1.upload_number.value=upload_number;
	}
	//con esta función eliminamos el campo cuyo link de eliminación sea presionado
	elimCamp = function (evt){
	   evt = evento(evt);
	   nCampo = rObj(evt);
	   alert(evt.target);
	   div = document.getElementById(nCampo.name);
	   div.parentNode.removeChild(div);
	   upload_number=upload_number-1;
	   document.form1.upload_number.value=(document.form1.upload_number.value-1);
	}
	evento = function (evt) { //esta funcion nos devuelve el tipo de evento disparado
	   return (!evt) ? event : evt;
	}
	//con esta función recuperamos una instancia del objeto que disparo el evento
	rObj = function (evt) { 
	   return evt.srcElement ?  evt.srcElement : evt.target;
	}
     function setBlock() 
	  {
	  	document.getElementById('moreLink').style.display = 'block';
      }
	</script> 
  #2 (permalink)  
Antiguo 27/12/2006, 03:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
Re: Upload multiple dinamico

Hola krac7

Así en plan rápido (no tengo tiempo de probar el código), intenta cambiando la línea:

a.onclick = elimCamp;

por esto otro:

a.onclick = function() {elimCamp}

Espero que te funcione. Saludos,
  #3 (permalink)  
Antiguo 27/12/2006, 03:50
 
Fecha de Ingreso: noviembre-2006
Mensajes: 2
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Upload multiple dinamico

He logrado averiguar donde tengo el problema. Es al personlizar el texto del hipervinculo Delete con una etiqueta <font> de que manera puedo personalizar el texto?!?!?!
Gracias!!
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 19:25.