我有一个视图和一个表单,其中出于某种原因提交表单时_='_=%r;print (_%%_) ';print (_%_)
事件未触发。
这是HTML:
onclick
这是一个奇怪的情况,因为此确切的标记可在所有其他视图中使用。我已经仔细检查了html的其余部分是否有错别字,但是没有。 JQuery函数工作正常。即使不是,确认警报仍应显示,但不会显示。
该表单就像没有<form class="form" method="post" novalidate>
{% csrf_token %}
<h1>{% block title %}{% trans "Form" %}{% endblock %}</h1>
{% for field in form %}
<div>
<p>{{ field.help_text }}</p>
</div>
{{ field }}
{% if field.errors %}
<div class="error">
{{ field.errors }}
</div>
{% endif %}
{% endfor %}
<br></br>
<div class="bdiv">
<input id="btn1" class="btn" type="submit" value="Submit"
onclick="return confirm('Do you want to proceed?') && ajaxEvent();">
</div>
</form>
一样提交。但是,如果我将此onclick
放在表单标签之外,则会触发<div>
!
为什么会这样?
答案 0 :(得分:0)
确保已为ajaxEvent函数分配了返回值,并且表单存在。
<form name="frm" action="success.html">
<div class="bdiv">
<input id="btn1" class="btn" type="submit" value="Submit"
onclick="return confirm('Do you want to proceed?') && ajaxEvent();">
</div>
</form>
<script>
function ajaxEvent() {
document.frm.submit();
return true;
}
</script>