Tôi có một Dojo SubmitButton với jsId = "saveParamButtonWidget". Tôi overrided phương pháp onClick của nó bằng cách đặt:Ngăn chặn gửi biểu mẫu với Dojo
saveParamButtonWidget.onClick = editParam
tôi xác định editParam() chức năng như thế này:
function editParam(eventObj) {
dojo.stopEvent(eventObj);
// ...
}
dojo.stopEvent() có nghĩa vụ phải dừng sự kiện bọt và xử lý mặc định. Tuy nhiên, trình duyệt sẽ vẫn gửi biểu mẫu. Tôi cũng đã thử với những điều sau:
function editParam(eventObj) {
eventObj.stopPropagation();
eventObj.preventDefault();
// ...
}
Điều tương tự. Cách duy nhất tôi đã quản lý để ngăn gửi biểu mẫu là bằng cách trả lại "sai" từ trình xử lý sự kiện:
function editParam(eventObj) {
// ...
return false;
}
Có thể ai đó cho tôi biết tại sao hai cách đầu tiên không hoạt động? Cảm ơn.
Xin vui lòng cho hơn thông tin: bạn đã sử dụng loại widget nào (tên đầy đủ), dojo không biết "SubmitButton", tôi cho rằng đây là một tệp dijit.form.Button, với kiểu "submit". Đoạn mã sẽ giúp ích rất nhiều –
Tôi xin lỗi, tôi đã sử dụng phần tử Gửi Dojo của Zend Framework, được gọi là SubmitButton. Nhưng bạn là đúng, nó là một dijit.form.Button với kiểu "submit". – Dario