为什么输入的onclick事件在此特定视图中不触发?

时间:2019-03-30 11:42:35

标签: javascript html

我有一个视图和一个表单,其中出于某种原因提交表单时_='_=%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>

为什么会这样?

1 个答案:

答案 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>