我正在使用ecm.widget.dialog.ConfirmationDialog
并已添加dijit/SimpleTextArea
。在点击是按钮时,我正在检查textarea
中是否有用户输入的值,如果没有,我想向用户显示一条消息并保留在confirmationDialog
上。它显示消息,但事件正在被解雇,流程继续。我甚至试图通过停止活动停止ecm.widget.dialog.ConfirmationDialog事件
dojo.stopEvent(evt);
但它不起作用。有人可以帮助我如何停止该事件,以便在用户输入值之前保留对话框?
下面是代码片段
this.msgDialogBox = new ConfirmationDialog();
var textarea = new SimpleTextarea({
rows: "4",
cols: "50",
placeHolder:"Please provide reject reason",
maxLength:"256",
style:"width: 95%; height: 90px;",
required:true
},domConstruct.create("div",{align:'center'},this.msgDialogBox.contentArea));
textarea.startup();
on(this.msgDialogBox,"Execute",function(evt){
if(!textarea.get("value")){
domConstruct.place(domConstruct.create("div",{align:'center',innerHTML:'Reject reason cannot be blank',style:'color:#ff0000'}),this.inlineMessage,"after");
dojo.stopEvent(evt);
}else{
//value is there so perform task
}
});
尝试使用'evt.stopPropagation()'而不是'dojo.stopEvent(evt)'并在此之后从事件处理程序返回。 – Himanshu
是的,我尝试过,但没有运气 –