tecla siguiente saltar pasar otro impedir funcion deshabilitar con campos campo boton activar jquery webforms

jquery - siguiente - Desactivar el envío de formularios mediante la tecla Intro solo en algunos campos



pasar de un campo a otro con enter javascript (4)

Deseo conservar el comportamiento convencional de "envío de formulario cuando presiono Entrar" porque los usuarios están familiarizados con. Pero, por reflejo, a menudo presionan enter cuando terminan con un cuadro de entrada de texto, pero antes de que realmente se terminen con la forma completa.

Me gustaría secuestrar la tecla Enter solo cuando el foco esté en cierta clase de entrada.

Buscando preguntas relacionadas esto se parece a lo que estoy buscando:

if (document.addEventListener) { document.getElementById(''strip'').addEventListener(''keypress'',HandleKeyPress,false); } else { document.getElementById(''strip'').onkeypress = HandleKeyPress; }

pero la parte if (document.addEventListener) { no me resulta familiar.


Para permitir ingresar solo en una clase específica (en este ejemplo, ''enterSubmit''):

jQuery(document).ready(function(){ jQuery(''input'').keypress(function(event){ var enterOkClass = jQuery(this).attr(''class''); if (event.which == 13 && enterOkClass != ''enterSubmit'') { event.preventDefault(); return false; } }); });


Puede capturar y cancelar la keypress Enter en esos campos como este:

$(''.noEnterSubmit'').keypress(function(e){ if ( e.which == 13 ) return false; //or... if ( e.which == 13 ) e.preventDefault(); });

Luego, en tus entradas simplemente dales una class="noEnterSubmit" :)

Mirando hacia el futuro en caso de que otros encuentren esto más tarde, en jQuery 1.4.3 (aún no) puedes acortarlo a esto:

$(''.noEnterSubmit'').bind(''keypress'', false);


Simplemente agregue el siguiente código en la etiqueta <Head> en su código HTML. Se enviará el formulario en la tecla Intro para todos los campos en el formulario

<script type="text/javascript"> function stopEnterKey(evt) { var evt = (evt) ? evt : ((event) ? event : null); var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); if ((evt.keyCode == 13) && (node.type == "text")) { return false; } } document.onkeypress = stopEnterKey; </script>


<input type="text" onkeydown="return (event.keyCode!=13);" />