De acuerdo con la documentación (knockoutjs.com/documentation/submit-binding.html), el enlace de envío de knockoutjs tiene la ventaja de que captura maneras alternativas de enviar el formulario, como presionar la tecla enter mientras se escribe en un cuadro de texto. Tengo una cuadrícula en mi formulario y algunos usuarios están tratando de usar la tecla enter para pasar de un campo al siguiente. ¿Hay alguna forma de evitar enviar el formulario cuando esto suceda?¿Hay alguna forma de evitar que el enlace de envío de knockoutjs envíe el formulario al presionar la tecla enter?
5
A
Respuesta
8
Una opción es agregar un controlador keypress
en el formulario que absorbe la tecla Intro. Que se vería así:
<form data-bind="event: { keypress: absorbEnter }, submit: test">
<div data-bind="absorbEnter: true">
<input data-bind="value: name">
<input type="submit" value="Go" />
</div>
</form>
JS:
var viewModel = {
name: ko.observable("test"),
absorbEnter: function(data, event) {
return event.keyCode !== 13;
},
test: function() {
console.log("submitting", arguments);
}
};
ko.applyBindings(viewModel);
Muestra aquí: http://jsfiddle.net/rniemeyer/FvZXj/2/
Cuestiones relacionadas
- 1. Evitar el descarte modal al presionar enter
- 2. knockoutjs enviar enlace no manipular la tecla enter correctamente
- 3. Desactivar envío de formulario al presionar enter porque estoy usando la funcionalidad Ajax
- 4. Impedir que los usuarios envíen formulario al presionar enter # 2
- 5. Cómo evitar el envío de formulario
- 6. Cómo hacer que la tecla "Enter" en un área de texto envíe un formulario
- 7. ¿Cómo evitar que un formulario con método GET envíe el valor del botón de envío?
- 8. ¿Hay alguna manera de obtener la entrada del usuario sin presionar la tecla enter?
- 9. Formulario no enviado al presionar enter
- 10. problema ... tecla Enter
- 11. Al presionar Enter Always Submits Form
- 12. Detener el 'Ding' al presionar Enter
- 13. ¿Cómo deshabilitar el comportamiento de envío automático al presionar la tecla Intro?
- 14. ¿Cómo cerrar un formulario al presionar la tecla de escape?
- 15. ¿Cómo desactivo el envío de formularios con la tecla Entrar?
- 16. Formulario para dejar la tecla 'enter' al usar el widget de autocompletar de jquery ui
- 17. Java establece el foco en jbutton al presionar enter
- 18. ¿Hay alguna forma de pluralizar texto utilizando knockoutjs
- 19. Al presionar Enter submits el formulario HTML con una entrada, pero no dos
- 20. Java: Registrar <ENTER> presionar la tecla en JTextPane
- 21. Al presionar 'enter' en un tipo de entrada = "texto", ¿cómo?
- 22. ¿Hay alguna manera de evitar que Symfony2 envíe cookies de sesión para ciertas rutas?
- 23. firefox autocompletar 'enter' presionar tecla en autocompletar desencadenar enter on textbox
- 24. onEditorAction() no se invoca después de presionar la tecla Enter en el emulador Jelly Bean
- 25. Asignación de la tecla principal para ejecutar algo sin tener que presionar enter
- 26. Jquery envíe el formulario
- 27. Bucle infinito de envío de formulario mediante el evento jquery
- 28. Enlazar el cuadro de texto a la tecla 'enter'
- 29. Windows Forms: Entrar presionar tecla activa el botón de enviar?
- 30. ¿Hay alguna forma de evitar que Javascript falle silenciosamente?
Sí Ryan, que trabajó absolutamente !! Gracias. – jgarza
Podría incluso agregarlo a un bindingHandler para eliminarlo de su modelo de vista como: http://jsfiddle.net/rniemeyer/FvZXj/3/ –
¿Puede KO diferenciar entre tecla arriba y tecla abajo? – FutuToad