IE9标准模式下,表单自动提交
前几天有个项目在IE9下面遇到了表单验证失败后自动提交的问题。
经过反复查找,不断简化代码。终于查到原因。
最终简化后的代码如下(原先代码有2000左右行,呵呵):
在查找过程最初以为是公司复杂的代码有人加入一些错误的js代码造成了表单误提交。不过简化成这样还有问题,那自然就不是代码直接造成的了。
简化成这样后还出现了新情况,问题时有时无,呵呵,灵光一闪,IE的怪异模式和标准模式??。
其实这个问题是早该找到的,预先我就设置了两种模式的DTD测试,不过认为不是这个原因,所以马虎过去。
不罗嗦了,结论就是:
在ie9的标准模式下,类似以上代码的表单,点击button会造成表单的提交。而在怪异模式下则不会提交。
最后用我的文章标题google了一下,发现一个测试。不过他没有讲到IE的怪异模式和标准模式会 有区别。大家可以参考。
[url=http://www.iefans.net/form-biaodan-dongzuo-fanying/]
http://www.iefans.net/form-biaodan-dongzuo-fanying/
[/url]