les muestro un extracto de un fomualrio que tengo.
Código Javascript:
Ver original
<form name="FormGranIng" method="post" action=""> <table> <tr> <td> <table id="TablaA"> <tr> <td><input name="A[]" id="A" type="text" class="textbox" size="4" maxlength="10" onChange="valNum(this);" tabindex="6"></td> </tr> </table> </td> <td> <input type="button" class="button" value="+" onClick="agregarCelda('TablaA','A')"> </td> </tr> </table> </form>
sobre este formulario estoy agregando celdas dinamicamente asi
Código Javascript:
Ver original
function agregarCelda(idTabla,nombreCelda) { nuevaFila = document.getElementById(idTabla).rows[0]; nuevaCelda=nuevaFila.insertCell(-1); nuevaCelda.innerHTML="<td><input name='"+nombreCelda+"[]' type='text' class='textbox' size='4' maxlength='10' onChange='valNum(this);'></td>"; }
Para validar el textbox le paso el objeto con el cual obtengo el value y el id para retornar el foco,
la funcion valNum es la siguiente
Código Javascript:
Ver original
function valNum(numero) { if (!/^[0-9]*\.?[0-9]{1,2}$/.test(numero.value)) { alert("El valor " + numero.value + " no es un numero o tiene mas de 2 decimales"); document.getElementById(numero.id).value=""; document.getElementById(numero.id).focus(); } }
el problema es que como estoy generando celdas y inputs dinamicamente, no se me ocurre como generar el id de cada textbox para que en caso que la validacion no tenga exito retornarle el foco u poner el campo en blanco.
se entiende??