Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2006, 13:28
Avatar de [HH]KaoS
[HH]KaoS
 
Fecha de Ingreso: diciembre-2004
Ubicación: Nerja, Málaga (España)
Mensajes: 216
Antigüedad: 19 años, 5 meses
Puntos: 6
Como detectar que un input no existe

Chicos estoy intentando hacer un formulario dinámico para que suban imagenes a una web pero este código me da un mensaje de error:
document.getElementById(imagen_siguiente).value has no properties (claro ya que aún no se ha definido, esa es la comprobación más bien)

El error está en la linea:
no_existe=document.getElementById(imagen_siguiente ).value
Cuando intento que me devuelva un undefined si aún no se ha establecido un campo para otra imagen.

Aquí teneis el código:
Código:
<script type="text/javascript" src="scripts/x_core.js"></script>
<script language="javascript">
	//Le pasamos como argumento el numero de la capa y el prefijo de la capa
	function aniadir(num_capa, pref_capa, pref_imagen)
	{
		//Creamos una cadena con el valor  campo_actual=imagen_1
		ultima_num_capa=num_capa-1
		string_capa=ultima_num_capa.toString()
		campo_actual=pref_capa+string_capa
		imagen_actual=pref_imagen+string_capa

		//Creamos una cadena con el valor campo_siguiente=imagen_2
		string_num_capa2=num_capa.toString()
		campo_siguiente=pref_capa+string_num_capa2
		imagen_siguiente=pref_imagen+string_num_capa2
		
		//document.write('Siguiente='+document.getElementById('imagen_siguiente+' Actual='+campo_actual+' Existe_siguiente='+existe_siguiente)
		no_existe=document.getElementById(imagen_siguiente).value
		if(document.getElementById(imagen_actual).value != '' && no_existe == 'undefined')
		{
			//Si esta lleno el ultimo campo y no existe el siguiente
			valor_siguiente=num_capa+1
			texto='Imagen '+num_capa+': <input name="'+imagen_siguiente+'" type="file" size="40" onChange="aniadir('+valor_siguiente+',\''+pref_capa+'\',\''+pref_imagen+'\')">'
			//Creamos una capa para la posible siguiente imagen
			texto= texto+'<div id="'+campo_siguiente+'"></div>'
			
			//Cargamos el codigo HTML en la capa definida para ello
			xInnerHtml(campo_actual,texto)
		}
	}
</script>
<form action="prueba_dinamico.php" method="post" name="imagenes">

		Imagen 1:<input name="imagen_1" id="imagen_1" type="file" size="40" onChange="aniadir(2,'capa_','imagen_')">
		<br>
	  <div id="capa_1"></div>
	  <input type="submit" name="Submit" value="Enviar">
</form>
Si quereis probarlo aquí teneis la URL:
http://nefertec.com/pruebas/bibianblue.com/prueba2.html

Un saludo y gracias por adelantado
__________________
Más información sobre mi: Raúl Jiménez