怎样判断一个表单内容是否改变
当点击编辑,进入编辑页面后,如果客户没有修改任何内容,点击保存的时候,提示没有任何修改,避免额外的操作数据库,怎么去判断呢,有最好的方法吗?...
当点击编辑,进入编辑页面后,如果客户没有修改任何内容,点击保存的时候,提示没有任何修改,避免额外的操作数据库,怎么去判断呢,有最好的方法吗?
展开
2个回答
展开全部
可以循环获得表单的所有元素, 然后给它们统一注册onchange事件
<form id="testForm" action="#">
<input type="text" id="testTxt"/>
<input type="password" id="testPassword" />
<form>
<script>
var edit = false; // 记录是否有修改
var testForm = document.getElementById('testForm');
var elements = testForm.elements;
var formChange = function() { // 统一处理修改的触发事件
edit = true;
}
for (var i =0; i < elements.length; i ++) {
elements[i].onchange = formChange; // 为所有的表单元素注册修改事件.
}
</script>
但是需要注意的是, checkbox 和radio 可能注册不上这种事件, 需要单独处理
<form id="testForm" action="#">
<input type="text" id="testTxt"/>
<input type="password" id="testPassword" />
<form>
<script>
var edit = false; // 记录是否有修改
var testForm = document.getElementById('testForm');
var elements = testForm.elements;
var formChange = function() { // 统一处理修改的触发事件
edit = true;
}
for (var i =0; i < elements.length; i ++) {
elements[i].onchange = formChange; // 为所有的表单元素注册修改事件.
}
</script>
但是需要注意的是, checkbox 和radio 可能注册不上这种事件, 需要单独处理
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询