Javascript 提交后如何隐藏表单?

Javascript 提交后如何隐藏表单?,javascript,python,jquery,django,Javascript,Python,Jquery,Django,我想知道提交后如何隐藏表单。我尝试了一些JavaScript,但我不断从表单中得到消息,没有选择任何文件 <script type="text/Javascript"> $('input[type="submit"]').click(function () { $(this).parents('#files').remove(); }); </script> <form id="files" method="POST" action=

我想知道提交后如何隐藏表单。我尝试了一些JavaScript,但我不断从表单中得到消息,没有选择任何文件

<script type="text/Javascript">
    $('input[type="submit"]').click(function () {
        $(this).parents('#files').remove();
    });
</script>
<form id="files" method="POST" action="" enctype="multipart/form-data">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Submit</button>
</form>

$('input[type=“submit”]”)。单击(函数(){
$(this).parents('#files').remove();
});
{%csrf_令牌%}
{{form.as_p}}
提交

您已经有了
id
,所以请使用它

$('input[type="submit"]').click(function () {
    $('#files').remove();
});

似乎您很难使用
jQuery
获取按钮元素。为按钮指定
id
,如下所示:

<button id="mybutton" type="submit">Submit</button>
对于id选择器,jQuery使用JavaScript函数 document.getElementById(),非常高效

此外,还需要将
click
事件处理程序包装到函数中



我不建议在单击按钮时删除表单。您如何确定数据已经提交和处理?一种解决方案是利用将用户重定向到另一个页面,但仅当后端成功处理表单时。

$(“#文件”).hide();或$('#files')。删除();它不是一个输入元素,而是一个按钮,您的选择器必须是$('button[type=“submit”]”)。但我建议你,等到提交请求完成后再删除表单。这样做了吗…仍然不起作用。表单仍然存在。我仍然收到“未选择文件”的消息。这确实有效。但有没有办法在提交后将其永久隐藏?在页面刷新时,它将再次显示。如果您希望只允许用户填写并发送表单一次,则需要将该逻辑放在服务器端。检查当前用户是否已在您的
views.py
中提交表单,如果当前用户未提交表单,则仅将
form
变量传递给呈现上下文。
$(function() {
    $("#mybutton").click(function() {
        $("#files").remove();
    });
});