大家都感觉ymPrompt画面还不错,但它不能像confirm那样,等待用户选择完后再判断是否再进行其它操作。我苦心研究,终于总结了一个通用高效的方法,和大家分享。以.net为例
1.页面代码,定义一个删除案例,在客户端定义一个事件询问用户确认操作,并根据此客户端事件指示是否要进行提交。 代码片段:
<asp:Button CommandName="delete" id="btnDelete" runat="sever" onClientClick="return deleteConfirm(this,'你确定要进行删除吗')" onClick="btnDelete_Click" ></asp:Button>
//2.定义全局变量,用于控制click事件是来自于用户,还是程序自行调用,这个很关键,不然老是关不掉弹窗
//所有操作都直接返回false,只有当用户真正选择了确定键时,模拟用户的点击操作。程序自动调用事件源对象的click()方法。
var clickfirst=true;
function deleteConfirm(obj,msg){
if (clickfirst){
var target=$(obj);
ymPrompt.confirmInfo(msg,null,null,'确认要删除吗?',function(tp){
if (tp=="ok"){
clickfirst=false;
target.click();
}});
return false;
}
else{
clickfirst=true;
return false;
}
}