Theo tài liệu hướng dẫn (knockoutjs.com/documentation/submit-binding.html) các ràng buộc gửi của knockoutjs có lợi thế là nó nắm bắt các cách khác để gửi biểu mẫu, chẳng hạn như nhấn phím enter khi nhập vào một hộp văn bản. Tôi có một lưới trên biểu mẫu của tôi và một số người dùng đang cố gắng sử dụng phím enter để chuyển từ trường này sang trường khác. Có cách nào để tránh gửi biểu mẫu khi điều này xảy ra không?Có cách nào để tránh rằng việc gửi liên kết của knockoutjs gửi biểu mẫu khi nhấn phím enter?
5
A
Trả lời
8
Một lựa chọn là thêm một trình xử lý keypress
trên biểu mẫu cũng hấp thụ phím enter. Nó sẽ giống như sau:
<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);
mẫu ở đây: http://jsfiddle.net/rniemeyer/FvZXj/2/
Các vấn đề liên quan
- 1. Nhấn Enter Luôn gửi biểu mẫu
- 2. Gửi biểu mẫu khi nhấn enter trong Textarea
- 3. Gửi biểu mẫu bằng phím Enter mà không cần gửi?
- 4. Dừng phím Enter/Return để gửi biểu mẫu
- 5. PuTTY gửi gì khi tôi nhấn phím Enter?
- 6. javascript nhấn phím enter
- 7. Tắt gửi biểu mẫu khi nhấn enter vì tôi đang sử dụng chức năng Ajax
- 8. Làm cách nào để tắt tính năng tự động gửi khi nhấn phím enter?
- 9. Nhấn enter để gửi biểu mẫu HTML với một đầu vào, nhưng không phải hai số
- 10. Gửi biểu mẫu khi nhập phím được nhấn bằng cách sử dụng Prototype javascript
- 11. Tránh gửi nhiều biểu mẫu
- 12. Cách tạo khóa "Enter" trong văn bản gửi biểu mẫu
- 13. Ngăn người dùng gửi biểu mẫu bằng cách nhấn enter # 2
- 14. Gửi bằng cách nhấn enter ở dạng cửa sổ
- 15. Sử dụng liên kết bình thường để gửi biểu mẫu
- 16. Làm phím Enter trên biểu mẫu HTML gửi thay vì kích hoạt nút
- 17. Đường ray, làm cách nào để bạn gửi biểu mẫu có liên kết văn bản?
- 18. Làm cách nào để gửi biểu mẫu khi bạn nhập văn bản?
- 19. jQuery: Cách sử dụng các phím bổ trợ khi gửi biểu mẫu?
- 20. Gửi giá trị khi nhấn Enter trong vùng văn bản và nhấn Shift + Enter phải đi tới dòng tiếp theo
- 21. Tránh chuyển sang bản ghi tiếp theo khi nhấn Enter?
- 22. Safari: Tắt gửi biểu mẫu khi nhập?
- 23. Rails 3 gửi biểu mẫu với liên kết
- 24. làm cách nào để giữ dữ liệu biểu mẫu sau khi gửi biểu mẫu bằng javascript?
- 25. Có cách nào dễ hơn để gửi phím ENTER trong Màn hình GNU?
- 26. Làm thế nào để nắm bắt phím enter được nhấn trên các trang có chứa nhiều biểu mẫu?
- 27. Ngăn chặn biểu mẫu gửi qua event.preventDefault(); không làm việc
- 28. Ẩn bàn phím di động khi biểu mẫu được gửi trong ứng dụng Ajax
- 29. Tránh gửi biểu mẫu trùng lặp trong Asp.net MVC bằng cách nhấp vào gửi hai lần
- 30. Làm cách nào để ngăn chặn việc gửi biểu mẫu cho đến khi nhiều cuộc gọi ajax kết thúc? jquery
Có Ryan, mà hoàn toàn làm việc !! Cảm ơn bạn. – jgarza
Thậm chí có thể thêm nó vào một bindHandler để đưa nó ra khỏi mô hình xem của bạn như: http://jsfiddle.net/rniemeyer/FvZXj/3/ –
KO có thể phân biệt giữa khóa và khóa không? – FutuToad