当ASP.NET验证失败时,我会显示一个jquery对话框,它工作正常。 验证完成后,我需要根据用户输入添加确认对话框。
我添加了一个对话框,该对话框按预期显示,但是当我希望用户决定是否继续进行服务器端处理时,它不会等待用户输入并执行服务器端处理< / p>
function WebForm_OnSubmit() {
if (typeof (ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) {
$("#validation_dialog").dialog({
title: "¡No pudimos publicar!",
modal: true,
resizable: false,
buttons: {
Close: function () {
$(this).dialog('close');
}
}
});
return false;
}
else
{
if ($("#<%=hClientePrivado.ClientID %>").val() === 'G') {
if ($("#<%=hRubroGratis.ClientID %>").val() !== '0' || $("#<%=hoptTipo.ClientID %>").val() !== '0' || $("#<%=hWeb.ClientID %>").val() !== '0') {
$("#dialog-confirm").dialog({
resizable: false,
title: "¡Favor confirmar!",
modal: true,
buttons: {
Yes: {
text: 'Si quiero publicar',
click: function () {
return true;
}
},
No: {
text: 'No quiero publicar',
click: function () {
return false;
}
}
}
});
}
else { return true;}
}
else { return true;}
}
}
我希望显示#dialog-confirm对话框,并等到用户选择Yes或No;如果是,则继续进行服务器处理;如果否,则关闭对话框并返回表单
根据注释中的要求,此代码由如下所示使用的ASP.NET验证触发
<asp:Button ID="btnPublicar" ValidationGroup="grp1" style="display:none;" ClientIDMode="static" runat="server" Text="Publicar" cssclass="btnPublicar"/><br />
<div id="cldisabled" style="display:inline-block;color:#ff0000">
<br />JavaScript está deshabilitado en su navegador web. Favor habilitarlo para poder publicar<br /><br />
</div>
<script>
document.getElementById("btnPublicar").style.display = 'inline-block';
document.getElementById("cldisabled").style.display = 'none';
</script>
<div id="validation_dialog" style="display: none">
<asp:ValidationSummary ValidationGroup="grp1" ID="ValidationSummary1"
runat="server" />
</div>
<div id="dialog-confirm" style="display: none">
<p><span class="ui-icon ui-icon-alert" ></span>Este aviso no es gratis
favor confirmar. ¿ Porque ? Seguramente por el rubro o por haber
escogido destacado o agregado una pagina web</p>
</div>
</div>