【问题标题】:jquery submit of django form not firingdjango表单的jquery提交未触发
【发布时间】:2013-08-04 22:58:42
【问题描述】:

我有以下表格:

<div>
    <form id="edit-form" method="post" action="">{% csrf_token %}
        <fieldset></fieldset>
        <button id="button-submit" type="submit">Submit</button>
    </form>
</div>

我想自己触发提交,以便可以通过 ajax 完成。问题是我从来没有到达提交处理程序。代码如下:

 $.post(url,data,function(result){
    $( ".page-added" ).append(result);
    $("#edit-form").submit(function (event){
         event.preventDefault();
     alert('submitted');
     return false;
});

 })
return false
});

结果包含编辑表单。

问题是永远不会触发警报并且永远不会到达提交处理程序。

【问题讨论】:

    标签: jquery django django-templates forms


    【解决方案1】:

    这可能是因为 append() 的行为是同步的,因此您在 #edit-form 存在于 DOM 之前绑定了该处理程序。

    对于这个问题,您可以使用不同的方法,即在静态元素上使用 on()

    // bind your submit handler here, assuming .page-added is the static element
    $('.page-added').on('submit', '#edit-form', function (e) {
         e.preventDefault();
         alert('submitted');
    });
    
    // do your ajax here
    $.post(url, data, function (result) {
        $(".page-added").append(result);
    });
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      相关资源
      最近更新 更多