Mostrando entradas con la etiqueta javascript. Mostrar todas las entradas
Mostrando entradas con la etiqueta javascript. Mostrar todas las entradas

jueves, 6 de enero de 2011

JavaScript - Capturar tecla Enter

Tengo un formulario con un botón "Aceptar" que realiza el submit. Cuando se presiona este botón se realizan ciertas validaciones sobre los datos ingresados. Lo que sucedía era lo siguiente: si se presionaba la tecla Enter, se realizaba el submit pero no las validaciones. Decidí deshabilitar este evento de la siguiente forma:


<html>
<body>

<script type="text/javascript">
// Capturo Enter
document.onkeypress=function(e){
var esIE=(document.all);
tecla=(esIE) ? event.keyCode : e.which;
return (tecla!=13);
};
</script>

<form name="form" action="http://www.w3schools.com/">
<table>
<tr>
<td> Ingrese un campo </td>
<td><input type="text" name="entrada" /></td>
</tr>
<tr>
<td><input type="button" name="Aceptar" value="Aceptar" onclick='javascript:submit()'/></td>
</tr>
</table>
</form>
</body>
</html>


Como siempre, pueden probar este codigo en http://www.w3schools.com/js/tryit.asp?filename=tryjs_intro.

sábado, 18 de diciembre de 2010

JavaScript - Validar ingreso de texto

Si qusieramos validar que sólo se ingrese texto lo hacemos con la siguiente función:


<html>
<body>

<script type="text/javascript">

function textonly(e){
var code;

if (!e) var e = window.event;
if (e.keyCode)
code = e.keyCode;
else
if (e.which)
code = e.which;
var character = String.fromCharCode(code);
var AllowRegex = /^[\ba-zA-Z\s-]$/;
if (AllowRegex.test(character)) return true;
return false;
}

</script>

<td width="15%">Ingrese solo texto </td>
<input name="nombre" size="30" onkeypress="return textonly(event);"/>

</body>
</html>


Hay un sitio muy interesante donde podemos probar nuestro código.
Vaya a http://www.w3schools.com/js/tryit.asp?filename=tryjs_intro y pegue en la parte izquierda cualquiera de los ejemplos aquí presentados, a continuación haga click en Edit and Click Me.

JavaScript - Validar ingreso de numeros

Validar que solo se ingresen numeros en un input:

<html>
<body>

<script type="text/javascript">

function numbersonly(myfield, e, dec){

var key;
var keychar;

if (window.event)
key = window.event.keyCode;

else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;
// numbers
else if ((("0123456789").indexOf(keychar) > -1))
return true;
// decimal point jump
else if (dec && (keychar == "."))
{
myfield.form.elements[dec].focus();
return false;
}
else
return false;
}


</script>

<td width="15%">Ingrese solo numeros </td>
<input name="nombre" size="30" onkeypress="return numbersonly(this,event);"/>

</body>
</html>