Casi lo tienes
hoberwilly, pero lee mis consejos:
Cita:
Iniciado por derkeNuke Dos condiciones de que No sea un número, unidas con OR (||) porque cualquiera nos vale para que No sea un número
Usa paréntesis para saber lo que se ejecuta antes en la condicional, sino puede ser muy confuso:
Código PHP:
<script type="text/javascript">
function LP_data(campo){
var key=window.event.keyCode;
if ( (key<48 || key>57) || (key==48 && campo.value.length==0) ){
window.event.keyCode=0;
}
}
</script>
<form>
<input name="cantidad" type="text" id="cantidad" onkeypress="LP_data(this)" />
<input type="submit" />
</form>
Ahora te faltaría implementarlo para que sea estándar y funcione en todos los navegadores, no sólo en IE.
Si te ayuda puedes utilizar variables para escribir condicionales complejas:
Código PHP:
function LP_data(campo){
var key=window.event.keyCode;
var esNumero = (key<48 || key>57);
var EsPrimeroYesCero = (key==48 && campo.value.length==0);
if ( esNumero || EsPrimeroYesCero ){
window.event.keyCode=0;
}
}
Saludos.