【问题标题】:Can't submit generated form无法提交生成的表单
【发布时间】:2016-09-13 08:13:35
【问题描述】:

我想提交一个使用 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 中使用提交功能有关,我想刷新的表单此时尚未创建,但我不确定如何继续从这里。

【问题讨论】:

标签: javascript php jquery ajax forms


【解决方案1】:

试试:

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

我为你创建了一个 jsFiddle: JsFiddle

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

【讨论】:

  • 谢谢。我还有其他一些不相关的问题要修复,但 $(document).on 允许我编辑动态创建的 div 的内容。谢谢!
【解决方案2】:

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

$(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();
      });
    } 

  });

});

【讨论】:

  • 我正在尝试以上所有建议 - 我稍后会回复。
【解决方案3】:

$(document).ready(function() {

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

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

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

    event.preventDefault();
});

});

【讨论】:

    【解决方案4】:

    试试这个

    $(document).delegate('#formCELL','submit',function(event) {
    
            // process the form
            alert("about to submit");
            //AJAX call to go here
    
            event.preventDefault();
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 2018-04-17
      相关资源
      最近更新 更多