在执行ASP.NET验证之后,如何根据用户输入添加确认对话框?

时间:2019-01-11 15:25:11

标签: jquery asp.net

当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>

0 个答案:

没有答案