无法提交生成的表单

时间:2016-09-13 08:13:35

标签: javascript php jquery ajax forms

我想提交一个使用AJAX动态创建的表单(通过之前的表单提交),但我无法使其成功运行。生成的表单具有显示的格式,并且正在成功创建

<div id="1" class="container-element">
    <h3>HEADER</h3>
    <form id="formCELL" name="form_1" action="refresh.php" method="post">
        <div class="panel-body">
            <div class="col-xs-10 com">CONTENT GOES HERE</div>                                                                                                                               
            <div class="col-xs-2 btn"><button class="btn btn-primary" id="refresh" type="submit">Refresh</button>                                                                </div>                                                            
        </div>                                                        
    </form>                                                      
</div>

用于生成表单,然后刷新内容的函数就在这里。现在,单击刷新按钮时,不会输入$('#formCELL').submit(function(event)功能。

$(document).ready(function() {

    $('#formMAIN').submit(function(event) {

        //formCELL is generated here through AJAX call.....

    });

    $('#formCELL').submit(function(event) {

        // process the form
        alert("about to submit");
        //AJAX call to go here

        event.preventDefault();
    });

});

我猜测问题与我在$(document).ready内设置提交功能有关,我想要刷新的表单目前还没有创建,但是我&# 39;我不确定如何从这里继续。

4 个答案:

答案 0 :(得分:1)

尝试:

$(document).on('submit', '#formCELL', function(event) { ... });

我为你创建了一个jsFiddle: JsFiddle

我根据你的需要修改了jsFiddle。现在,第一个表单生成由seconf提交函数

处理的第二个表单

答案 1 :(得分:0)

你是对的。在创建表单后,将第二个提交处理程序移动到第一个,如下所示:

$(document).ready(function() {

  $('#formMAIN').submit(function(event) {

    $.ajax(....).done(function(result) {
      //formCELL is generated here ...
      $('#formCELL').submit(function(event) {

        // process the form
        alert("about to submit");
         //AJAX call to go here

         event.preventDefault();
      });
    } 

  });

});

答案 2 :(得分:0)

$(document).ready(function(){

$('#formCELL').submit();

$('#formCELL').on('submit', function(event) {

    // process the form
    alert("about to submit");
    //AJAX call to go here

    event.preventDefault();
});

});

答案 3 :(得分:0)

试试这个

$(document).delegate('#formCELL','submit',function(event) {

        // process the form
        alert("about to submit");
        //AJAX call to go here

        event.preventDefault();
    });