-2
我有一个编辑表单显示选中的复选框,提交时我想检查复选框中是否有任何更改?Javascript提交表单时检查表单数据是否更改?
我有一个编辑表单显示选中的复选框,提交时我想检查复选框中是否有任何更改?Javascript提交表单时检查表单数据是否更改?
您可以比较每个复选框的当前值与其原始设置。为此,您可以将checked
属性与defaultChecked
属性进行比较。
下面是一些代码:
function wasAnyCheckChanged() {
return $('input[type=checkbox]').toArray().some(function(el) {
return el.checked != el.defaultChecked;
});
}
// At submission: collect them again and compare
$('form').submit(function() {
if (wasAnyCheckChanged()) {
alert('you changed checks');
} else {
alert('No changes made');
}
return false; // cancel submission
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="checkbox" name="chk1" checked>Option 1<br>
<input type="checkbox" name="chk2" >Option 2<br>
<input type="submit" name="submit" value="Submit"><br>
</form>
这段代码显示的警告表明任何检查是否在提交不是他们在页面加载不同。然后提交被取消。您可以决定要做什么,并且只能在两种情况中的一种情况下取消提交。
这是否回答你的问题?你可以提供一些反馈吗? – trincot
显示您的代码? – trincot
将它们的当前检查状态与'defaultChecked'属性进行比较。 https://developer.mozilla.org/de/docs/Web/API/HTMLInputElement#Properties – CBroe