Cita:
Iniciado por AnDrEa MM Usando el comando 'document.onkeypress' en JS me dice q 'event' no está definido, así q supongo q debería usar ese evento una vez iniciado el código HTML... puede ser? He pensado ponerlo en la etiqueta body, pero no tiene el evento onKeyPress, así q no sé dónde ni cómo ponerlo.
para esto tenes que cambiar esta linea:
Cita: tecla = (document.all) ? event.keyCode : event.which;
Cita:
Iniciado por AnDrEa MM ..esos dos caracteres los uso como separadores de una cadena en la q recogo los valores de un formulario, y si se introduce ese caracter se descompone todo... sería un caos!! Por eso necesito q no se introduzca en ninguna parte de la aplicación.
Desde mi punto de vista , dos opcines mas simples:
1.- Utilizando esa misma funcion, poner el onkeypress en cada elemento del formulario que lo requiera
2.- Utilizar una funcion que te valide todos los campos (eliminando esos caracteres) en el momento de enviar el formulario llamandola con onsubmit="return validar()".
algo así:
Cita: <html>
<head>
<script>
function validar(f){
var patron =/[\*\|]+/;
for(x=0;x<f.elements.length;x++){
f.elements[x].value=f.elements[x].value.replace(patron,"");
if (f.elements[x].value.length==0){
alert(x);
return false;
}
}
return true;
}
</script>
</head>
<body>
<form name="form1" method="get" action="" onsubmit="return validar(this)">
<input type="text" name="textfield">
<textarea name="textarea"></textarea>
<input type="text" name="textfield2">
<input name="s" type="submit" value="enviar">
</form>
</body>
</html>
espero te sirva.
saludos
PD: Acordate de que si utilizas lenguaje del lado del servidor es imprescindible validarlo allí. (javascript no es suficiente para validaciones importantes)