jquery提交的django表单没有解雇

时间:2013-08-03 22:12:04

标签: jquery django django-templates html-form

我有以下表格:

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

结果包含编辑表单。

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

1 个答案:

答案 0 :(得分:1)

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

您可以针对此问题使用不同的方法,即在静态元素上使用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);
});

希望它有所帮助。