<p><span style="font-size: 10pt;">本文转自:</span><a href="http://info.codepub.com/2008/09/info-22582.html" target="_blank"><span style="font-size: 10pt;">http://info.codepub.com/2008/09/info-22582.html</span></a></p><p><span style="font-size: 10pt;">原文如下:</span></p><div class="t_msgfont" id="postmessage_2830"><span style="font-size: 10pt;">使用场合:当某个页面数据修改时,需要执行某些操作时 <br>在页面的body加载事件(onload)中加上initfileds()就可以记录页面的初始数据<br>在需要判断页面数据是否改变时调用checkmodification()方法就可判断数据是否改变<br>返回值为true就是已经改变<br>返回值为false就是没有改变<br><br> // 页面编辑数据<br> var inputsdata;<br> var textareasdata;<br> var selectsdata;<br> // 记录下表单中的原始值<br> function initfileds() {<br> var inputs = document.getelementsbytagname("input");<br> var textareas = document.getelementsbytagname("textarea");<br> var selects = document.getelementsbytagname("select");<br> inputsdata = new array(inputs.length);<br> for (var i=0;i<inputs.length;i++) {<br> inputsdata[i] = inputs[i].value;<br> if (inputs[i].type=="radio") {<br> inputsdata[i]=inputs[i].checked;<br> }<br> }<br> textareasdata = new array(textareas.length);<br> for (var i=0;i<textareas.length;i++) {<br> textareasdata[i] = textareas[i].value;<br> }<br> selectsdata = new array(selects.length);<br> for (var i=0;i<selects.length;i++) {<br> selectsdata[i] = selects[i].value;<br> }<br> }<br> /*<br> * 判断表单中值是否被修改了<br> * submitcommand 表单有改动时,执行的javascript代码<br> */<br> function checkmodification(submitcommand) {<br> var inputs = document.getelementsbytagname("input");<br> var textareas = document.getelementsbytagname("textarea");<br> var selects = document.getelementsbytagname("select");<br> var hasbeenchanged = false;<br> for (var i=0;i<inputs.length;i++) {<br> if (inputs[i].type=="radio"&&(inputs[i].checked!=inputsdata[i])) {<br> hasbeenchanged = true;<br> inputsdata[i]=inputs[i].checked;<br> }<br> if (inputs[i].type!="radio"&&inputsdata[i]!=inputs[i].value) {<br> if(inputs[i].name!="actiontype"){<br> hasbeenchanged = true;<br> }<br> inputsdata[i]=inputs[i].value;<br> }<br> }<br> for (var i=0;i<textareas.length;i++) {<br> if (textareasdata[i]!=textareas[i].value) {<br> hasbeenchanged = true;<br> textareasdata[i]=textareas[i].value;<br> }<br> }<br> for (var i=0;i<selects.length;i++) {<br> if (selectsdata[i]!=selects[i].value) {<br> hasbeenchanged = true;<br> selectsdata[i]=selects[i].value;<br> }<br> }<br> if (hasbeenchanged&&confirm("数据已经改变,是否保存?")) {<br> eval(submitcommand);<br> }<br> }</span>
[转]javascript 判断某页面上的表单数据是否改变过
最新推荐文章于 2022-01-27 11:05:54 发布