Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 表单中一个元素的“更改时停止”函数_Jquery - Fatal编程技术网

Jquery 表单中一个元素的“更改时停止”函数

Jquery 表单中一个元素的“更改时停止”函数,jquery,Jquery,所以我有这个功能,如果表单中有任何变化,它会通过提交按钮提交表单。 我想这样做,但我想排除表单中的一个元素。这是一个ID为“dogs”的复选框。如果用户检查了,我不希望它运行此函数,即使它在表单中 $(document).ready(function(){ $('#MainForm').change(function(){ $('#submit').click(); }); }); 我试过这个 $(

所以我有这个功能,如果表单中有任何变化,它会通过提交按钮提交表单。 我想这样做,但我想排除表单中的一个元素。这是一个ID为“dogs”的复选框。如果用户检查了,我不希望它运行此函数,即使它在表单中

$(document).ready(function(){
       $('#MainForm').change(function(){                
           $('#submit').click();
        });
    });
我试过这个

  $(document).ready(function(){
       $('#MainForm').not("#dogs").change(function(){               
           $('#submit').click();
        });
    });
但它不起作用,当我点击复选框时,它仍然提交了表单,不知道在这里做什么

$(document).ready(function(){
   $('#MainForm input').not("#dogs").change(function(){               
       $('#submit').click();
    });
});

您希望检测输入的更改,然后忽略
#dogs
输入。您当前的版本检查
#MainForm
(始终为真)的更改。

看起来您正在使用冒泡更改事件来了解提交表单的情况。如果要忽略一个元素,可以防止它冒泡

$('#dogs').on('change', function(e){
    e.stopPropagation();
});
$('MainForm')。在('change',function()上{
log('submittheform!');
});
$('#dogs')。关于('change',函数(e){
e、 停止传播();
});


my main表单有很多元素,如复选框、收音机和其他输入。我只想排除狗的输入。那么我需要使用#Mainform input radio复选框吗?你可以只做
#Mainform*
。但也要注意,收音机和复选框只是某种类型的输入。选择,文本区域是一个例外。使用
#Mainform:input
伪选择器`匹配所有类型的用户输入。但是请注意,当我使用*时,是否是jQuery特定的语法?如果选中,dogs仍然会提交表单,当我使用:输入我的所有其他下拉列表和单选按钮的变化不工作。如此奇怪,仍然不工作。当我点击该复选框时,页面提交。站点上的代码片段是否如您所期望的那样工作@别担心,你的答案现在起作用了。我打错了。