我正在使用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
是的,我嘗試過,但沒有運氣 –