我被困在dojo 1.4中。
需要一个同步(阻塞)对话框替换 window.confirm()。
为什么:我希望按钮是 YES/NO 而不是 OK/CANCEL。
此对话框将从应用程序的多个部分调用——因此需要适当的清理。是否有具有此功能的 dojo 库?
我更喜欢所有动态代码,因此我可以在 .js 文件或 html/jsp 文件中包含这个新对话框,但可以使用的东西值得赞赏。
问问题
1794 次
1 回答
1
你不能让它同步,但你可以阻止表单提交event.preventDefault()
或onsubmit="return false;"
@FakeRainBrigand 提到的。
这是一个工作示例:http: //jsfiddle.net/phusick/73PuE/。
它使用了我在上面评论中提到的确认对话框。它是用 Dojo 1.8 编写的,但它应该或多或少与 1.4 相同,只需使用dojo.connet
代替dojo/on
:
var form1 = dom.byId("form1");
on(form1, "submit", function(event) {
event.preventDefault();
var form = event.target;
MessageBox.confirm({ message: "Submit form?" }).then(function() {
// submit the form upon a click on `Yes`
form.submit();
});
});
你可以在普通的 JavaScript中实现同样的效果:
function confirmHandler(event) {
event.preventDefault();
var form = event.target;
// ask for a confirmation and if confirmed invoke:
// form.submit();
}
在表单上注册处理程序:
<form onsubmit="confirmHandler(event);">
于 2012-11-25T11:16:25.643 回答