因此,我具有此功能,如果表单中发生任何更改,它将通过“提交”按钮提交表单。 我想这样做,但是我想在表单中排除一个元素。它的ID为“ dogs”的复选框。如果用户检查了此内容,即使它处于表单形式,我也不希望它运行此功能。
$(document).ready(function(){
$('#MainForm').change(function(){
$('#submit').click();
});
});
我尝试过了...
$(document).ready(function(){
$('#MainForm').not("#dogs").change(function(){
$('#submit').click();
});
});
虽然它不起作用,但是当我单击复选框时它仍然提交了表单,不确定在这里做什么。
答案 0 :(得分:1)
$(document).ready(function(){
$('#MainForm input').not("#dogs").change(function(){
$('#submit').click();
});
});
您要检测输入的变化,然后忽略#dogs
输入。您当前的版本检查#MainForm
的更改(始终为真)。
答案 1 :(得分:0)
您似乎正在使用冒泡的更改事件来知道提交表单。如果要忽略一个元素,可以防止它冒泡。
$('#dogs').on('change', function(e){
e.stopPropagation();
});
$('#MainForm').on('change', function(){
console.log('submit the form!');
});
$('#dogs').on('change', function(e){
e.stopPropagation();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="MainForm">
<input type="checkbox" name="cats" id="cats">
<input type="checkbox" name="dogs" id="dogs">
</form>