jQuery表单提交未触发



我在一个html文件中有两个表单(未嵌套(。各行其是,互不依赖。我目前面临的问题是$(form).submit((event)=>{code})只适用于:

<form id="mainForm" action='' method="POST" enctype="multipart/form-data">
{% csrf_token %}
<!--Cover image-->
<ul class="error" id="coverImageLink_errors"></ul>
<div class="cover-img">
{{ mainForm.coverImageLink|add_class:'actual-img' }}
<img src="#" id="cover" alt="Your image" style="color: black;">
</div>
<!--Music data part-->
<div class="music-data">
<ul class="error" id="albumName_errors"></ul>
<label for="{ mainForm.albumName.id_for_label }">title</label><br>
{{ mainForm.albumName }} <br><br>
</div>
<input id='albumSubmit' type="submit" value="Next" class="main-form-upload">
</form>
<script>
$('#mainForm').submit((event)=>{
event.preventDefault();
console.log('AJAX CALLED FOR MAIN FORM');
});
</script>

但未打开:

<form id="AdvancedForm" action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<ul class="last-step-error" id="advancedForm.non_field_errors"></ul>

<section id="main-section">

<!-- compresso page -->
<div id="compresso-page">
<div class="parent">
<div class="name">0. Hello world</div>
<ul class="pre-errors">
<li>Video file is not supported</li>
<li>+2 more</li>
</ul>
</div>
</div>

</section>
<div style="height: 20px;"></div> <!-- prevents collision with button -->
<input type="submit" value="Release" onclick="alert('Advanced form submit pressed')">
</form>
<script>
$('#AdvancedForm').submit((event)=>{
event.preventDefault();
console.log('AJAX CALLED FOR ADVANCED FORM')
const url = '{% url "validate-upload-collection" %}'
})
</script>

我看到了AJAX CALLED FOR MAIN FORM,但没有看到AJAX CALLED FOR ADVANCED FORM。默认情况下,高级表单为display='none'

console.log(document.getElementById('AdvancedForm'))返回此处

如果您对{{ something }}感到困惑,它只是一些django(Web框架(变量语法。这些变量将在服务器端填写,这样html中就不会出现这些变量。

可能是onclick="alert('Advanced form submit pressed')"干扰了您的处理程序。请尝试从"提交"按钮中删除它。

我看到的另一件事是,第二种形式没有实域?这可能是另一回事。尝试添加<input type="text" name="test" />

最新更新