为了你的幸福,请不要把提交按钮的name或者id设置为submit
折磨了我好多天的问题,一直很不甘心啊,还以为jquery.validationEngine.js有问题,还在它基础上自己写了个验证框架。结果阴沟里翻船,载在这么一个傻逼的问题上。以下为转载:
?
关于Html form表单的提交,很容易。。。但如果不仔细还是能有很多错误。
?
提交的button name 属性为 submit form的submit方法失效?。代码如下
>????发现 submit已经变成 form 的一个属性了,并不是方法。这下明白了吧。把submit(也就是submit方法)覆盖了。所以要注意提交表单name的命名方式不要和form原有的方法,属性相同,这样会导致原来的form属性方法失效。
?
另外一篇,其实不只是IE:
这个不仅仅是IE6的错,而是所有IE的错!!
IE有一个特别随意的功能,就是能够通过Element的name来操作一个Element,有些人觉得这个功能很方便,实际它不仅不符合标准,还会导致IE自己变得莫名其妙。
假如你的Form有一个提交按钮的name="submit",那么,很遗憾,你这个form无论如何都不能通过Javascript来提交,只要你一调用了这个form的submit()方法,IE就会告诉你它不支持这个方法!这不是搞笑吗?哪个浏览器会不支持form的submit()方法?虽然IE不标准,也不至于这样吧?对不起,就是这样。
因为当你调用form的方法submit(),它首先想到的是你的提交按钮!