Zgodnie z dokumentacją (knockoutjs.com/documentation/submit- binding.html) powiązanie knockout-a z wysyłką ma tę zaletę, że przechwytuje alternatywne sposoby przesłania formularza, takie jak naciśnięcie klawisza Enter podczas pisania w polu tekstowym. Mam siatkę w moim formularzu i niektórzy użytkownicy próbują użyć klawisza Enter, aby przejść z jednego pola do drugiego. Czy istnieje sposób na uniknięcie przesyłania formularza, gdy tak się dzieje?Czy istnieje sposób na uniknięcie tego, że zgłoszenie knockout-a do wysyłania wysyła formularz po naciśnięciu klawisza Enter?
5
A
Odpowiedz
8
Jedną z opcji jest dodanie do formularza również obsługi keypress
, która absorbuje klawisz Enter. to będzie wyglądać:
<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);
Próbka tutaj: http://jsfiddle.net/rniemeyer/FvZXj/2/
Powiązane problemy
- 1. Zmiana regulacji ostrości po naciśnięciu klawisza Enter
- 2. przechowywać klawiaturę otwarte po naciśnięciu klawisza Enter
- 3. Wyłącz dźwięk systemu na TSpinEdit po naciśnięciu klawisza Enter
- 4. Formularz html uniemożliwia przesyłanie po naciśnięciu Enter na konkretnym wejściu
- 5. Czy istnieje sposób na uniknięcie tego błędu pamięci?
- 6. Czy istnieje sposób na uniknięcie tego bloku kodu?
- 7. Zapobieganie przechodzeniu do następnego rekordu po naciśnięciu Enter?
- 8. Jak wyłączyć automatyczne wysyłanie po naciśnięciu klawisza Enter?
- 9. Czy istnieje sposób na uniknięcie wyszukiwania liniowego?
- 10. Przejście do następnego pola tekstowego po naciśnięciu klawisza "Enter" zamiast do przesłania (Windows Phone)
- 11. Prześlij wartość po naciśnięciu klawisza Enter w obszarze tekstowym i naciśnięcie klawisza Shift + Enter powinno przejść do następnego wiersza.
- 12. Czy istnieje sposób na uniknięcie nawiasu zamykającego do komentarzy?
- 13. Prześlij przycisk logowania do logowania po naciśnięciu Enter
- 14. Wyłączanie przesyłania formularzy po naciśnięciu klawisza Enter, ponieważ używam funkcjonalności Ajax
- 15. Wywołanie klawisza Enter
- 16. Ciągły ruch po naciśnięciu klawisza
- 17. Jak przesłać formularz za pomocą klawisza Enter w pliku react.js?
- 18. Czy jest łatwiejszy sposób wysyłania klucza ENTER na ekranie GNU?
- 19. Rozpoczęcie działania po naciśnięciu klawisza
- 20. Angular-UI $ okno dialogowe i formularz przesłać na klawisz Enter
- 21. Czy istnieje sposób na uniknięcie wycieków pamięci w systemie Tomcat?
- 22. Vim: Jak wgrać do otwartego okna lub klamry po naciśnięciu klawisza Enter?
- 23. Czy istnieje sposób na uniknięcie całego wiersza MySQL?
- 24. Jak ukryć tabBar po naciśnięciu klawisza?
- 25. Sposób na uniknięcie histogramu?
- 26. Przycisk Zdarzenie uruchamia się po naciśnięciu klawisza Enter na różnych wejściach (bez formularzy).
- 27. Wykrywanie po naciśnięciu niestandardowego klawisza UIButton
- 28. przesłać formularz na „enter” w IE „przeglądarka”
- 29. Prześlij formularz za pomocą klawisza Enter bez przycisku przesyłania?
- 30. W Angular 2, jak przesłać wartość typu wejściowego = "tekst" po naciśnięciu klawisza Enter?
Tak Ryan, który absolutnie pracował !! Dziękuję Ci. – jgarza
Można nawet dodać go do bindingHandler, aby wyjąć go z modelu widoku, takie jak: http://jsfiddle.net/rniemeyer/FvZXj/3/ –
może KO rozróżnić między kluczem w górę i kluczem w dół? – FutuToad