Estoy tratando de agregar unos campos a un formulario de forma dinamica, los campos se agregan pero necesito que algunos tengan en evento OnKeyPress el cual no funciona.
Mi Codigo
Código:
trato de llamar el evento usando code['OnKeyPress'] = function() {return OnlyNumber(event)} pero no me funciona.var n=1; function add(form) { n++; tabla = document.getElementById('tabla'); fila = document.createElement('tr'); fila.id='row_'+n; celda = document.createElement('td'); celda.align='center'; fila.appendChild(celda); code=document.createElement('input'); code.type='text'; code.name='codigo_'+n; code['OnKeyPress'] = function() {return OnlyNumber(event)} code.size='10'; code.maxLength='10'; // code['blur'] = function() {return acceptNum(event)}; celda.appendChild(code); celda = document.createElement('td'); celda.align='center'; fila.appendChild(celda); art=document.createElement('input'); art.type='text'; art.name='articulo_'+n; art.size='22'; art.readonly='readonly'; celda.appendChild(art); celda = document.createElement('td'); celda.align='center'; fila.appendChild(celda); cant=document.createElement('input'); cant.type='text'; cant.name='cantidad_'+n; cant.size='3'; cant.maxLength='3'; cant['onkeypress'] = function() {return OnlyNumber(event)}; celda.appendChild(cant); celda = document.createElement('td'); celda.align='center'; fila.appendChild(celda); unit=document.createElement('input'); unit.type='text'; unit.name='unitario_'+n; unit.size='10'; unit.readonly='readonly'; celda.appendChild(unit); celda = document.createElement('td'); celda.align='center'; fila.appendChild(celda); totl=document.createElement('input'); totl.type='text'; totl.name='total_'+n; totl.size='10'; totl.readonly='readonly'; celda.appendChild(totl); celda = document.createElement('td'); celda.align='center'; fila.appendChild(celda); text=document.createElement('text'); text.innerHTML = "<a href=\"javascript:DeleteRow('row_"+n+"')\"> Eliminar</a>"; celda.appendChild(text); tabla.appendChild(fila); form.registros.value=n; }
Tambien trata llamandolo code.OnKeyPress = function() {return OnlyNumber(event)} o si no code.OnKeyPress = 'return OnlyNumber(event)' los cuales obviamente tampoco funcionaron
el problema no esta en la funcion OnlyNumber() porque si lo llamo de forma tradicional funciona, pero igual aqui esta el codigo
Código:
Alguien ve el error?function OnlyNumber(evt){ var nav4 = window.Event ? true : false; var key = nav4 ? evt.which : evt.keyCode; return (key <= 13 || (key >= 48 && key <= 57)); }
Saludos y desde ya gracias