【发布时间】:2016-05-23 04:38:19
【问题描述】:
这是我遇到的问题,当用户提交帖子并在新页面加载之前两次单击提交按钮时,会生成两个相同的帖子。我想我可以用 python 代码解决这个问题,因为我正在使用 django(限制用户在一分钟内只发布一个;即使在问题存在之后我做了http://dpaste.com/313A0A4)but。这是我的 html 代码(我的尝试没有不工作)
{% block content %}
<form id="post_form" method="post" action="/add_post/" enctype="multipart/form-data">
{% csrf_token %}
{{ form|crispy }}
<!--{% for tag in person.tags.all %}{{ tag.word }} {% endfor %}-->
<input type="submit" name="submit" value="Create Post">
</form>
{% endblock %}
{% include 'footer.html' %}
<script>
jQuery('form').on('submit', function(){
if(jQuery("input[name=submit]").hasClass('active'))
{ return false; }
else{
jQuery("input[name=submit]").addClass('active'); } });
</script>
【问题讨论】:
-
是否可以添加 e.preventDefault()。在form.submit中,第一次点击按钮后,是否可以禁用按钮
-
我不了解 Django,但这通常通过使用 JavaScript 禁用提交按钮并向服务器发送 AJAX 请求来解决。完成后,您可以使用 JavaScript 显示新帖子并启用按钮,或者只需使用
window.location = url将它们重定向到包含新帖子的页面 -
@AviahLaor 啊,你好......你的方法不起作用。我修复了错误,但这不像我提到的那样工作
-
@Robert 禁用提交按钮是什么意思?如何在没有按钮的情况下提交?..hmmm
标签: javascript jquery python django django-templates