可以循环获得表单的所有元素, 然后给它们统一注册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 可能注册不上这种事件, 需要单独处理
温馨提示:答案为网友推荐,仅供参考