Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2007, 09:15
Moska
 
Fecha de Ingreso: febrero-2007
Mensajes: 2
Antigüedad: 17 años, 3 meses
Puntos: 0
Error al intentar acceder a elementos creados dinamicamente

Que tal? Les comento mi problema: tengo una funcion que se llama "validar()" que verifica antes de crear una nueva fila en una tabla, que la anterior haya sido completada. Con la primer fila no tengo problemas pero al crear la segunda sale un error de javascript "document.nueva.apellido1.value es nulo o no es un objeto". Intente acceder al objeto de diferentes maneras pero no hubo caso, he probado dentro de la funcion ademas de lo que está, lo siguiente: eval("document.nueva.GetElementById(apellido1).val ue=='' ") y eval("document.nueva.apellido1.value=='' ") pero no funciono. Espero que alguien me pueda ayudar y desde ya le agradezco por su tiempo. Aca les dejo el codigo:

<Script>
var n = 0;
function validar()
{
var anterior;
n++;
if (n == 1)
{
add(n);
}
else
{
anterior=n-1;
if(eval("document.nueva.apellido"+ anterior + ".value==''") )
{
alert('No puede agregar una nueva fila ya que no ha completado los campos obligatorios de la anterior.');
}
else
{
add(n);
}
}
}

function add(n)
{
pepe = document.getElementById('responsables');
fila = document.createElement('tr');

celda = document.createElement('td');
fila.appendChild(celda);
ape=document.createElement('input');
ape.type='text';
ape.name='apellido'+n;
ape.size='11';
celda.appendChild(ape);

celda = document.createElement('td');
fila.appendChild(celda);
nom=document.createElement('input');
nom.type='text';
nom.name='nombre'+n;
nom.size='11';
celda.appendChild(nom);

celda = document.createElement('td');
fila.appendChild(celda);
tel=document.createElement('input');
tel.type='text';
tel.name='telefono'+n;
tel.size='11';
celda.appendChild(tel);
pepe.appendChild(fila);

celda = document.createElement('td');
fila.appendChild(celda);
cel=document.createElement('input');
cel.type='text';
cel.name='celular'+n;
cel.size='11';
celda.appendChild(cel);

celda = document.createElement('td');
fila.appendChild(celda);
mail=document.createElement('input');
mail.type='text';
mail.name='email'+n;
mail.size='17';
celda.appendChild(mail);

celda = document.createElement('td');
fila.appendChild(celda);
act=document.createElement('input');
act.type='text';
act.name='actividad'+n;
act.size='13';
celda.appendChild(act);

}
</script>