Jquery提交表单不起作用

时间:2015-09-25 11:29:53

标签: javascript jquery html forms

我尝试使用jQuery的submit()方法提交HTML表单。

我正在注册submitHandler来检查formdata。如果检查失败,用户可以在对话框中选择是继续还是取消。继续我取消注册我的Checkeventhandler并在表单上调用submit(),但没有任何反应。

这是我的编码:

    <form action="test.php" id="summary_01" method="post">

</form>

<script type="text/javascript">
    $(document).ready(function() {
      $('#summary_01').on('submit', function(e){
         var result = check();
         if (!result) {
           e.preventDefault();
         }
         return result;
      });
    });

    function check() {
        var result = false;
        // do some Checks, setting result= true, if OK

        if(!result) {
            $( "#dialog-message" ).dialog({
                 modal: true,
                 resize : true,
                 width : 'auto',
                 buttons: {
                   Ok: function() { //Sending, despite check failed

                     $('#summary_01').unbind('submit'); //remove checkingForm Eventhandler
                     $('#summary_01').submit();
                     $( this ).dialog( "close" );
                   },
                   Cancel : function() {
                     $( this ).dialog( "close" );

                   }
                }
            });
        }
        return result;
    }
 </script>

我认为问题是e.preventDefault(),但对话调用是异步的,因此我阻止提交,直到用户选择继续或取消。

也许你可以帮助我。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

调用本机submit函数。在您的代码中,您还有其他表单ID。应该是#form01

$('#form01').off('submit');
$('#form01').get(0).submit();