Hola nuevamente a todos.
Tengo el siguiente problemilla con java script y DOM:
Tengo una función (llamada temporalmente proto2) que simplemente hace lo siguiente: al seguir unas reglas de validación de campos de texto y textarea, debe mostrar inmediatamente al salir de cada campo, una capa con información sobre la información introducida, eso no es relevante. El código crea un div y lo debe insertar despues del campo del que se acaba de salir. El código es el siguiente:
Código:
function proto2(nomFormulario) {
// obtengo el formulario
var formulario = eval("document."+nomFormulario);
// obtengo los elementos del formulario
var elementos = formulario.elements;
// imprimo los nombres de los elementos
for(i = 0; i < elementos.length; i++) {
if(elementos[i].type == "text" || elementos[i].type == "textarea") {
document.write(elementos[i].name+" "+elementos[i].type+"<br />")
var nombre = elementos[i].name;
elementos[i].onblur = function() {
// creo un div en la variable marca
var marca = document.createElement("div");
// le agrego atributos
marca.setAttribute("className","marca");
marca.setAttribute("class","marca");
marca.setAttribute("id",this.name);
// creo un texto
var texto = document.createTextNode("H");
// se lo agrego al div al final
marca.appendChild(texto);
// dentro del formulario, ubico el elemento siguiente al que estoy y agrego el div marca, un lugar antes
formulario.insertBefore(marca,this.nextSibling);
}
}
}
}
hasta aquí bien, el tema es que funciona bien (mas o menos
) siempre, excepto en el último imput text, donde firefox me manda el siguiente error:
Node was not found" code: "8 Espero respuesta la brevedad, gracias.