如何使用Javascript提交Django表单?
我有以下Django表格:如何使用Javascript提交Django表单?,javascript,django,Javascript,Django,我有以下Django表格: class EmailForm(forms.Form): name = forms.CharField(...) email = forms.CharField(...) message = forms.CharField(...) 然后在HTML中呈现,如下所示: <div class="controls"> {% csrf_token %} <div class="form-group">
class EmailForm(forms.Form):
name = forms.CharField(...)
email = forms.CharField(...)
message = forms.CharField(...)
然后在HTML中呈现,如下所示:
<div class="controls">
{% csrf_token %}
<div class="form-group">
{{ form.name }}
</div>
<div class="form-group">
{{ form.email }}
</div>
<div class="form-group">
{{ form.message }}
</div>
<input type="submit" value="Say hello" onclick="sendEmail(this);">
</div>
{%csrf_令牌%}
{{form.name}
{{form.email}
{{form.message}}
我试图在按下提交按钮后禁用它。下面是我的javascript函数:
<script>
function sendEmail(this1)
{
var name = document.getElementById("form_name").value;
var email = document.getElementById("form_email").value;
var message = document.getElementById("form_message").value;
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
var result = re.test(String(email).toLowerCase());
if (name != "" && result && message != "") {
this1.disabled=true;
}
}
</script>
document.getElementById("myForm").submit();
发送电子邮件功能(this1)
{
var name=document.getElementById(“表单名称”).value;
var email=document.getElementById(“form_email”).value;
var message=document.getElementById(“form_message”).value;
变量re=/^([^()\[\]\\,;:\s@“]+(\.[^()\[\]\,;:\s@“]+)*)(“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.]124;([a-zA Z-0-9]+];
var result=re.test(字符串(email.toLowerCase());
如果(名称!=“”&&result&&message!=“”){
这1.disabled=true;
}
}
当我覆盖
标记中的onclick
字段时,该按钮会由于Javascript函数而被禁用,但表单不会提交(页面不会重新加载,Django不会处理帖子)。禁用“提交”按钮后,如何继续执行该按钮的默认操作?您的模板没有
标记,没有这些标记,就没有要提交的表单
你应该写:
<form id="MyForm">
<div class="controls">
...
<input type="submit" value="Say hello" onclick="sendEmail(this);">
</div>
</form>
怎么样onclick=“this.submit()”