代码之家  ›  专栏  ›  技术社区  ›  BruceWayne

单击提交输入类型时jQuery没有响应

  •  -2
  • BruceWayne  · 技术社区  · 7 年前

    HTML格式

    <form id="existing_queries_and_dates">
        <div id="search_dates">
            <h3>Available Dates</h3>
            <select id="date_range">
                {% for date in date_range %}
                <option value="{{date}}">{{date}}</option>
                {% endfor %}
            </select>
            <input type="submit" id="submit_query_date_combo" value="Re-Load Table">
        </div>
    </form>
    

    还有我的 Javascript语言 (这是 只有 文件中的代码。我知道文件链接正确,所以这不应该是问题所在):

    $("#submit_query_date_combo").on("click", function(){
        console.log("Submitted!");
        alert("HIasd");
    });
    

    我没有得到任何错误,但是我也没有得到alert或console.log。

    form

    3 回复  |  直到 7 年前
        1
  •  0
  •   Seva Kalashnikov    7 年前

    自从你的 submit form 你需要使用 preventDefault()

    $("#submit_query_date_combo").on("click", function(e){
        e.preventDefault();
        console.log("Submitted!");
        alert("HIasd");
    });
    
        2
  •  0
  •   f-CJ    7 年前

    这可能是因为您在加载DOM之前运行javascript,也可能是因为click事件处理程序没有连接到DOM元素,因为它找不到它。我建议您为添加一个处理程序 DOMContentLoaded 事件,然后附加DOM事件处理程序,如下所示:

    document.addEventListener("DOMContentLoaded", function(event) {
        $("#submit_query_date_combo").on("click", function(ev){
            console.log("Submitted!");
            alert("HIasd");
        }); 
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <form id="existing_queries_and_dates">
        <div id="search_dates">
            <h3>Available Dates</h3>
            <select id="date_range">
                <option value="0">0</option>
            </select>
            <input type="submit" id="submit_query_date_combo" value="Re-Load Table">
        </div>
    </form>
        3
  •  0
  •   Vishnu Chauhan    7 年前

     <!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        $('#submit_query_date_combo').on('click',function(){
            console.log("Submitted!");
                alert("HIasd");
                 $('#existing_queries_and_dates').submit();
             });
    });
    </script>
    </head>
    <body>
       <form id="existing_queries_and_dates">
            <div id="search_dates">
                <h3>Available Dates</h3>
                <select id="date_range">         
                    <option value="0">0</option>            
                </select>
                <input type="button" id="submit_query_date_combo" value="Re-Load Table">
            </div>
        </form>
    
    </body>
    </html>