以产做的项目中有用到判断表单是否修改的。当初还没有使用到Jquery,当时的解决方案是判断md5后的值是否相同。
表单结构如下:
<form > <div id='content'> <input ....... </div> <input id='isModify' type='hidden'/> </form>
页面加载完成后,把div中的html通过getElementById()获取innerHTML
使用md5加密后赋给isModify
在表单提交时再取下content中的innerHTML,判断前后两次的md5值
如果相同则没有修改,如果不同则表示已经修改过了表单的内容
在后台的处理时只要看hidden的值就好了。当初只在ie下做了东西,没有测试通用性。
现在手上的PHP项目有一个表单验证的,就是各条件要至少输入一个才能进行后面的操作。很多个条件,做起判断来很是麻烦
现在用到了jquery,也想使用以前的解决方案来实现,结果在IE下是没有问题的,在FF和Chrome下都不能正确判断修改后的表单。网上找了下,发现了jquery的一个特性
用下面的代码就把判断给解决了
$(document).ready(function() { $("form :input").change(function () { $('form').data('changed',true); }); $("form").submit(function (){ if(!$('form').data('changed')) { alert('请至少选择一项条件进行搜索!'); return false; } }); } );
data,大家可以多看下jquery的说明!