Tengo una tabla dentro de un formulario. La tabla contiene algunos campos de formulario, pero también hay campos de formulario fuera de la tabla (pero también dentro del formulario).Detener Introducir/Devolver clave que envía un formulario
Sé que Enter y Return se usan tradicionalmente para enviar un formulario a través del teclado, pero quiero detener este comportamiento para los campos dentro de la tabla. Por ejemplo, si enfoco un campo dentro de la tabla y presiono Enter/Return, no pasa nada. Si enfoco un campo fuera de la tabla (pero aún dentro del formulario), entonces lo enviaré normalmente.
Tengo un complemento jQuery que se dirige a esta tabla. Simplificado, esto es lo que he tratado hasta aquí:
base.on('keydown', function(e) {
if (e.keyCode == 13) {
e.stopPropagation();
return false;
}
});
Dónde base
es la tabla de objetos jQuery. Esto está dentro del método init
de mi complemento. Sin embargo, presionando Enter aún envía el formulario.
¿Dónde me estoy equivocando?
EDIT: Algunos HTML simplificada:
<form method="" action="">
<input type="text" /><!--this should still submit on Enter-->
<table>
<tbody>
<tr>
<td>
<input type="text" /><!--this should NOT submit on Enter-->
</td>
</tr>
</tbody>
</table>
</form>
duplicado Posible de http://stackoverflow.com/questions/1563062/prevent-form-submission-with-enter-key y http://stackoverflow.com/questions/895171/prevent-users-from -submitting-form-by-hitting-enter –
Debería mencionar lo que es 'base', parece un objeto jquery pero no sigue las [convenciones de nomenclatura] (http://stackoverflow.com/q/10204606/ 601179). – gdoron
@gdoron lo hice. ¡Es la primera oración después del primer bloque de código! "* Donde' base' es el objeto jQuery de tabla. * " –