Javascript 提交后如何隐藏表单?
我想知道提交后如何隐藏表单。我尝试了一些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=
<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();
});
});