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:
Si quereis probarlo aquí teneis la URL:<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>
http://nefertec.com/pruebas/bibianblue.com/prueba2.html
Un saludo y gracias por adelantado