A quién no le ha pasado que mientras llenaba un formulario, presionó la tecla ENTER, ya sea por casualidad o por cualquier otra causa, y el formualrio se envió con la información incompleta, o errónea o simplemente le reportó error y le devolvió el formulario desde cero?
Cuántos no han querido arrancar la dichosa tecla, o matar a quien hizo el formulario por no anular la dichosa tecla y evitar un envío involuntario, o visto desde el otro lado del cristalab, cuántas veces has querido hacerlo y no has sabido cómo?: Aqui la solución!
Jquery, nos permite hacer esta gracia con unas cuantas líneas, utlizando los selectores de etiquetas y el método keypress(), mediante la combinación de éstos logramos que al presionar la tecla ENTER dentro del FORM o dentro un INPUT se vuelva un FALSE y de esta manera evitar que envíe SUBMIT.
Como keypress registra el valor de cada tecla, le asignamos a la función una variable, la cual recogerá el valor de la tecla presionada, luego este valor lo comparamos con el valor de la tecla ENTER que es 13, si es la comparación devuelve TRUE, entonces devuelve FALSE y así evitamos el envío del FORM al presionar la tecla ENTER.
Tal vez en palabras se vea un poco complicado asi que aquí les dejo el código, sólo implementenlo dentro del HEAD de su página y listo.
Código :
<script language="javascript" src="js/jquery.js"></script>
// remplaza el src por la ubicacion de tu jscript
<script language="javascript">
$(document).ready(function() {
$('form').keypress(function(e){
if(e == 13){
return false;
}
});
$('input').keypress(function(e){
if(e.which == 13){
return false;
}
});
});
</script>
He probado tu code Inyaka y si bien es cierto que anula el ENTER tambien anula el boton de ENVIAR, y eso no es lo que porpone el TIP, solo porponemos anular el ENTER pero mantener operativo el boton de envio. Por:NeoCesar
(El problema es que tu solución anula tambien el enter en los textarea, pero no busque solucionarlo) Por:PLL
Creo que hay mucho problema con eso, simplemente se utiliza la misma lógica que cuando validamos un formulario. (Yo no creo que deba quitarse una opcion que facilita mucho la accesibilidad en un formulario) si no queremos que se envie simplemente:
bueno como para aportar, retocando el codigo de PLL, y resolviendo los enters de los textarea... y solo anulando los enters dentro de los input type="text" aca va el codigo:
Hola que tal, pero de pura casualidad alguien de ustedes sabe como hacerle para que cuando el usuario esté escribiendo en un textarea y precione la tecla enter, este de un código interno como "< b r >", con el fin de permitirle al usuario facilitarle el hehco de scribir dentro de un textarea y que si él dá enters, estos se respeten dentro de éste y no tenga que escribir su texto y < b r >. gracias! Por:Ricardo-blog
Ricardo-blog :
Hola que tal, pero de pura casualidad alguien de ustedes sabe como hacerle para que cuando el usuario esté escribiendo en un textarea y precione la tecla enter, este de un código interno como "< b r >", con el fin de permitirle al usuario facilitarle el hehco de scribir dentro de un textarea y que si él dá enters, estos se respeten dentro de éste y no tenga que escribir su texto y < b r >. gracias!
Como estas guardando el texto de ltextarea via PHP? Por:NeoCesar
podrias evitar el 'enter' haciendo que el boton de envio no sea un submit, sino un boton comun y con la propiedad onclick llamas a un script en javascript que realice el submit. Por:Carlos-blog
Me sirvio muchisimo este script.. esta jalando ok en mi pagina!!! Por:CElso-blog