2017-04-10 80 views
0

在下面的代码中,对话框的两个按钮都是为了提交表单。但是,如果点击对话框中的按钮,则不提交。如果用户选择是,我们需要发送一个值到发布页面。请帮我解决一下这个。表单提交在jquery对话框中不起作用

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" name="edit_billto" id="edit_billto"> 
    <input type="hidden" name="option" value="com_phpshop" /> 
    <input type="hidden" name="page" value="<?php echo $next_page; ?>" /> 
    <input type="hidden" name="next_page" value="<?php echo $next_page; ?>" /> 
    <input type="hidden" name="Itemid" value="<?php echo $Itemid; ?>" /> 
<input type="hidden" name="autoship_flag" id="autoship_flag" value="0"> 
     <input type="submit" id="bill_sumbit" class="button" name="submit" value="<? echo _E_SAVE ?>" <? echo $submit; ?> /> 
</form> 

Jquery的一部分

<div id ="alert" style="display:none"> <p> This address is used in autoship. 
    You need to change the address in autoship too? 
    </p></div> 
     <script> 
      $(document).ready(function() { 
       $("#alert").dialog({autoOpen: false, 
        modal: true, 
        buttons: { 
        No : function(){ 
        isconfirm = true; 
        //$("form[name='edit billto']").unbind('submit'); 
        $("#edit_billto").submit(); 
        $(this).dialog("close"); 

        //$("form[name='edit billto']").unbind('submit').submit(); 
        }, 
          Yes: save_info 
        }, 
        resizable: true, 
        height: "auto", 
        width: "auto", 
        closeOnEscape: false, 
        title: "Autoship Update" 

        }); 

      }); 
      var isconfirm = false; 
      $("form[name='edit_billto']").submit(function(e) { 
      //alert(isconfirm); 
      if(isconfirm === true){ 
      return true; 
      } 

       if(isconfirm === false){ 

        e.preventDefault(); 


        $("#alert").dialog("open"); 
       }    
      }); 

    function save_info(){ 
       isconfirm = true;  
       $("#autoship_flag").val("1"); 
       $("form[name='edit_billto']").unbind('submit'); 
       $("form[name='edit_billto']").submit();   
      }  

      </script> 
+0

请添加您的html部分,因为它可以是一个错误的选择器;) – MarcelD

+0

你可以把你的代码在jsbin? –

+0

@MarcelD我已经添加了html部分。请看看 – Thejas

回答

0

不知道为什么,你.submit()不工作,但你可以尝试.trigger('click')

像这样的东西应该工作:

No : function(){ 
    $("form[name='edit_billto']").off('submit'); 
    $("#bill_sumbit").trigger('click'); 
}