使用JavaScript提交后如何隐藏表单?

时间:2014-09-05 15:09:50

标签: javascript django django-templates

所以我有这些形式:

django模板:

 {% for F in forms %}
    <input type="text" name="name/>
    <input type="number" name="number/>
    <input type="submit" class="button" [onclick="this.disabled=true,this.form.submit(); ??]> #how can I make this work?
 {%endfor%}

模板代码的作用是根据表单的值&gt;呈现多个表单。我希望用户提交表单,然后让表单消失(最好)或至少禁用,以便他们可以重新提交。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果您在页面上有多个表单并希望使用JavaScript处理它们,我建议您使用jQuery。你可以做类似的事情:

$('input[type="submit"]').click(function() {
    // here comes your logic
    // and the next line removes the corresponding form
    $(this).parents('form').remove();
});

但正如Marc B指出的那样,你应该通过Ajax提交表格。我不知道您打算如何处理用户输入,但如果您想使用Ajax,那么您可以创建类似的内容:

$('form').submit(function() {
    $.ajax({
        // your logic
    });
});

查看jQuery的官方文档以获取更多详细信息,并根据您的需求调整示例。

编辑:

如果您想阻止表单提交和刷新页面,请稍微更改为:

$('form').submit(function(event) {
    $.ajax({
        // your logic
    });
    event.preventDefault();
});