代码之家  ›  专栏  ›  技术社区  ›  Cannon Moyer

jQuery丢失对表单的引用

  •  0
  • Cannon Moyer  · 技术社区  · 8 年前

    我得到了一个通过ajax提交的表单,然后由响应更新。

    $(document).ready(function(){
    $('.edit_customer').submit(function(event) {
        console.log("test");
        if(document.getElementById("sameAsBilling").checked == true){
            $("#customer_addresses_attributes_1_line_1").val($("#customer_addresses_attributes_0_line_1").val());
            $("#customer_addresses_attributes_1_line_2").val($("#customer_addresses_attributes_0_line_2").val());
            $("#customer_addresses_attributes_1_city").val($("#customer_addresses_attributes_0_city").val());
            $("#customer_addresses_attributes_1_state").val($("#customer_addresses_attributes_0_state").val());
            $("#customer_addresses_attributes_1_zip_code").val($("#customer_addresses_attributes_0_zip_code").val());
    
        }
    });
    });
    

    我还尝试将侦听器更改为:

    $(document).on("submit", ".edit_customer", function(){ console.log("test");});
    

    这段代码根本不执行。

    需要注意的一点是,我正在使用rubyonrails,它使用railsujs。我不知道为什么第二行代码不能解决这个问题。感谢您的帮助。

    提前谢谢。

    更新:

    在我的表单中有另一个元素,我使用相同类型的代码启动JS,每次都可以正常工作。代码如下:

    $(document).on('click', '#qb-customers-btn', function(){
        //code here makes an ajax call and loads in data
    });
    
    
    <span class="input-group-text bg-success text-light" id="qb-customers-btn">Load</span>
    

    更新:

    我最终放弃了这个功能,只使用了一个按钮单击侦听器,但现在我又在不同的页面上的不同窗体上遇到了相同的问题。我想尽一切办法都试过了。目前唯一有效的方法是用一个 init 函数,调用 在document.load上,然后调用 初始化

    0 回复  |  直到 7 年前