Tôi hiện đang sử dụng jquery để bẫy việc gửi biểu mẫu và hiển thị cho người dùng hộp thoại xác nhận. Nếu người dùng nhấp vào có, thì biểu mẫu sẽ gửi. Nếu người dùng nhấp không, sau đó đóng hộp thoại.Hình thức bẫy Jquery gửi()
Tất cả đều hoạt động tốt nhưng đối với một vấn đề: khi người dùng nhấp vào có, điều này sau đó kích hoạt lại mã đó và hộp thoại được mở lại.
$("#myform").submit(function (event) {
if (something) {
var $dialog = $('<div></div>').dialog({
buttons: {
"OK": function() {
$dialog.dialog('close');
$("#myform").submit();
return;
},
Cancel: function() {
$(this).dialog("close");
}
}
});
$dialog.dialog('open');
event.preventDefault();
return false;
} else {
$("#myform").submit();
}
});
Tôi hiểu tại sao điều này xảy ra, chỉ cần không chắc chắn về cách tốt nhất để vượt qua nó. Tôi nhận ra rằng tôi có thể hiển thị các phương thức trên nút bấm, thay vì gửi mẫu, nhưng điều này không nhận được xung quanh vấn đề của người dùng nhấn nút enter trên bàn phím để gửi biểu mẫu.
Rất thú vị! Tôi không nghĩ rằng có một cách rõ ràng xung quanh nó, mặc dù tôi hy vọng ai đó có thể chứng minh tôi sai! Bạn đã thử tích hợp chức năng 'preventDefault()' chưa? –