Tôi có một bảng trong một biểu mẫu. Bảng này chứa một số trường biểu mẫu, nhưng có các trường biểu mẫu nằm ngoài bảng (nhưng vẫn nằm trong biểu mẫu).Dừng phím Enter/Return để gửi biểu mẫu
Tôi biết rằng Enter và Return thường được sử dụng để gửi biểu mẫu qua bàn phím nhưng tôi muốn dừng hành vi này cho các trường trong bảng. Ví dụ, nếu tôi tập trung một trường trong bảng và nhấn Enter/Return, không có gì xảy ra. Nếu tôi tập trung một lĩnh vực bên ngoài của bảng (nhưng vẫn còn trong các hình thức) sau đó cho nó để gửi như bình thường.
Tôi có một plugin jQuery nhắm mục tiêu đến bảng này. Đơn giản, đây là những gì tôi đã thử cách này:
base.on('keydown', function(e) {
if (e.keyCode == 13) {
e.stopPropagation();
return false;
}
});
Trường hợp base
là đối tượng jQuery của bảng. Đây là phương thức của tôi trong phương thức init
của plugin của tôi. Tuy nhiên, nhấn Enter vẫn gửi biểu mẫu.
Tôi sẽ làm gì sai?
EDIT: Một số đơn giản hóa HTML:
<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>
có thể trùng lặp của http://stackoverflow.com/questions/1563062/prevent-form-submission-with-enter-key và http://stackoverflow.com/questions/895171/prevent-users-from -submitting-form-by-hitting-nhập –
Bạn nên đề cập đến 'base' là gì, nó trông giống như một đối tượng jquery nhưng nó không tuân theo [quy ước đặt tên] (http://stackoverflow.com/q/10204606/ 601179). – gdoron
@gdoron Tôi đã làm. Đó là câu đầu tiên sau khối mã đầu tiên! "* Nơi' cơ sở' là đối tượng jQuery của bảng. * " –