簡體   English   中英

jQuery 表單提交未觸發

[英]jQuery form submit not triggering

我在一個 html 文件中有 2 個表單(非嵌套)。 各自做自己的事,互不依賴。 我目前面臨的問題是$(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 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" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM