根据复选框更改表单提交时的JQuery操作

根据复选框更改表单提交时的JQuery操作,jquery,wordpress,Jquery,Wordpress,需要根据表单中的复选框更改提交后用户访问的url 目前正在使用: $('form').submit(function(){ if ($('input[name=dance_inc_setup]').is(':checked')){ $('form').attr('action', 'checkout2'); } }); 表格在danceinc.org上 我已经有一些脚本工作,但不能让这个工作。谢谢。试试这个: $("form").submit(fun

需要根据表单中的复选框更改提交后用户访问的url

目前正在使用:

$('form').submit(function(){
    if ($('input[name=dance_inc_setup]').is(':checked')){
        $('form').attr('action', 'checkout2');   
    }
});
表格在danceinc.org上

我已经有一些脚本工作,但不能让这个工作。谢谢。

试试这个:

   $("form").submit(function(){
     if ($("input[name='dance_inc_setup']").is(":checked")){
        $('form').get(0).setAttribute('action', 'checkout2'); 
      }
    });

您忘记在输入名称周围添加引号。我将所有单引号更改为双引号以保持一致。

为了让Jay的解决方案在WordPress中使用此插件参与者数据库,脚本必须在适当的时间加载,如Ani所述:

     // the wrapper to load at appropriate time
     jQuery(document).ready(function($){
     //Use name= from the input tag in source
     $('input[name=PUT FIELD NAME HERE]').on('change', function() {
     if (this.checked) {
     $('form').attr('action', 'PAGENAME');
}
});
});

似乎可以工作,但是,考虑到插件内置的一些持久性,在测试时,每次清除缓存,否则第二次尝试将默认为插件设置中设置的URL。

在输入更改时,而不是表单提交时实际执行该操作如何。如果我这样做,我将不会捕获表单中输入的数据。对吗?什么,你现在没有捕获任何东西,你只是在更改一个属性,你应该在复选框更改时更改该属性,而不是在表单提交时。在他们进入复选框之前,在有东西需要填写之后,只需执行此->即可。更改属性不会提交表单,我不认为您真的收到了此消息?运气不好,仍然使用默认URL没有任何区别,引号是可选的,因为名称中没有特殊字符。请尝试使用$'form'.get0.setAttribute'action','checkout2';检查更新的应答您是否可以在提交功能中放置一个console.log来检查它是否正在执行?此外,我认为其他一些jquery可能会在这之后运行-这可能会将url更改为默认值,是吗?我认为您可能对运行之后的事情是正确的,即创建表单的插件。我不知道console.log是如何实现的,但我可以告诉您,在这之前的三个功能都运行良好。