项目中出现如下问题:
ie6中submit.click()方式提交form不成功,但是在高版本的ie中提交没有问题。
让我非常的费解。后来查询资料后发现了一个启发,如果form中method没有定义,则自动按照method=“get”方式提交form,但这种方
式提交form,长度限制在256。回想一下,自己的form中可以无限制的多选,提交时有几十项的内容。难道是form的method没有定义的问
题?
速查自己写的代码,发现的确我的method属性没有定义。于是改为method=“post”。问题解决!!
原因分析:
form的method分为两种情况,一种是get方式提交数据,一种是POST方式提交数据。
而一般如果没有设置method方法,其默认为get方法,其最大字符串为256,超出这个限制就需要用post来解决,否则就会报出“无效
的语法”这样的JS错误。
之所以ie6会报出这个问题而高版本没有,是因为高版本的ie弥补了这个缺陷,当长度很长的内容提交,ie6以上版本会自动改为post方式
提交。