¿Cómo validar datos en tabla dinámica?
Com, verás, tengo un problema bastante raro; tengo el siguiente código que me crea una tabla dinámica, una función que me valida los datos de entrada de un <input type="text"> y tengo una función que me muestra un mensaje de ayuda en cuanto el elemento gana el foco:
function validarDatos(texto,validos)
{
for (var i=0, txtSalida='', validos; i<texto.length; i++)
if (validos.indexOf(texto.charAt(i)) != -1)
txtSalida += texto.charAt(i)
return txtSalida;
}
function passText(str)
{
top.frames['abajo'].document.msg.msg1.value = str;
}
function tablaLaboral()
{
var tabla=document.getElementById("tDinamica");
tabla.style.border='1px solid';
var fila=tabla.insertRow(-1);
col1=fila.insertCell(-1);
col1.appendChild(document.createTextNode("Nombre empresa:"));
col1.style.fontSize='medium';
col2=fila.insertCell(-1);
col2.innerHTML="<input type='text' name='Nempre[]' maxlength='30' onKeyUp=\"validarDatos(this.value,'áéíóúÁÉÍÓÚabcdefghijklmnñopqrstuvwxyz ABCDEFGHIJKLMNÑOPQRSTUVWXYZ')\" onFocus=\"passText('Digite nombre de la empresa.')\">";
col3=fila.insertCell(-1);
col3.appendChild(document.createTextNode("Teléfono:"));
col3.style.fontSize='medium';
col4=fila.insertCell(-1);
col4.innerHTML="<input type='text' name='telEmpre[]' maxlength='10' onKeyUp=\"validarDatos(this.value,'0123456789')\" onFocus=\"passText('Digite teléfono de la empresa.')\">";
col5=fila.insertCell(-1);
col5.appendChild(document.createTextNode("Cargo:"));
col5.style.fontSize='medium';
col6=fila.insertCell(-1);
col6.innerHTML="<input type='text' name='cargo[]' maxlength='30' onKeyUp=\"validarDatos(this.value,'áéíóúÁÉÍÓÚabcdefghijklmnñopqrstuvwxyz ABCDEFGHIJKLMNÑOPQRSTUVWXYZ')\" onFocus=\"passText('Digite cargo.')\">";
}
El problema es que no me ejecuta la función de validarDatos... Pero la función de passText si la ejecuta.
Me gustaría saber cuál es el problema, o si hay alguna otra manera de hacerlo.
function validarDatos(texto,validos)
{
for (var i=0, txtSalida='', validos; i<texto.length; i++)
if (validos.indexOf(texto.charAt(i)) != -1)
txtSalida += texto.charAt(i)
return txtSalida;
}
function passText(str)
{
top.frames['abajo'].document.msg.msg1.value = str;
}
function tablaLaboral()
{
var tabla=document.getElementById("tDinamica");
tabla.style.border='1px solid';
var fila=tabla.insertRow(-1);
col1=fila.insertCell(-1);
col1.appendChild(document.createTextNode("Nombre empresa:"));
col1.style.fontSize='medium';
col2=fila.insertCell(-1);
col2.innerHTML="<input type='text' name='Nempre[]' maxlength='30' onKeyUp=\"validarDatos(this.value,'áéíóúÁÉÍÓÚabcdefghijklmnñopqrstuvwxyz ABCDEFGHIJKLMNÑOPQRSTUVWXYZ')\" onFocus=\"passText('Digite nombre de la empresa.')\">";
col3=fila.insertCell(-1);
col3.appendChild(document.createTextNode("Teléfono:"));
col3.style.fontSize='medium';
col4=fila.insertCell(-1);
col4.innerHTML="<input type='text' name='telEmpre[]' maxlength='10' onKeyUp=\"validarDatos(this.value,'0123456789')\" onFocus=\"passText('Digite teléfono de la empresa.')\">";
col5=fila.insertCell(-1);
col5.appendChild(document.createTextNode("Cargo:"));
col5.style.fontSize='medium';
col6=fila.insertCell(-1);
col6.innerHTML="<input type='text' name='cargo[]' maxlength='30' onKeyUp=\"validarDatos(this.value,'áéíóúÁÉÍÓÚabcdefghijklmnñopqrstuvwxyz ABCDEFGHIJKLMNÑOPQRSTUVWXYZ')\" onFocus=\"passText('Digite cargo.')\">";
}
El problema es que no me ejecuta la función de validarDatos... Pero la función de passText si la ejecuta.
Me gustaría saber cuál es el problema, o si hay alguna otra manera de hacerlo.
1 respuesta
Respuesta
1