Jquery 表单中一个元素的“更改时停止”函数
所以我有这个功能,如果表单中有任何变化,它会通过提交按钮提交表单。 我想这样做,但我想排除表单中的一个元素。这是一个ID为“dogs”的复选框。如果用户检查了,我不希望它运行此函数,即使它在表单中Jquery 表单中一个元素的“更改时停止”函数,jquery,Jquery,所以我有这个功能,如果表单中有任何变化,它会通过提交按钮提交表单。 我想这样做,但我想排除表单中的一个元素。这是一个ID为“dogs”的复选框。如果用户检查了,我不希望它运行此函数,即使它在表单中 $(document).ready(function(){ $('#MainForm').change(function(){ $('#submit').click(); }); }); 我试过这个 $(
$(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仍然会提交表单,当我使用:输入我的所有其他下拉列表和单选按钮的变化不工作。如此奇怪,仍然不工作。当我点击该复选框时,页面提交。站点上的代码片段是否如您所期望的那样工作@别担心,你的答案现在起作用了。我打错了。