首页 > 编程学习 > 使用jQuery插件后IE表单提交报错”对象不支持此属性或方法”的解决办法

使用jQuery插件后IE表单提交报错”对象不支持此属性或方法”的解决办法

最近在一个项目中做登录模块,使用jQuery validate插件进行表单验证,验证通过后jQuery Form插件ajax提交表单数据,在火狐,谷歌浏览器使用正常,无报错信息,但在IE8下点击登陆按钮没有反应,后来看到IE控制台有报错信息说”对象不支持此属性或方法”.

我这里的报错信息如下:

对象不支持此属性或方法

错误详细信息

上网搜了一下有以下几种原因和解决办法,经过测试我的问题是通过方法3解决的,给遇到同样问题的朋友参考一下

1.表单控件中存在name为关键字的情况

由于表单中存在name为submit(或action等其他关键字)的组件,因此提交时没有提交submit而是提交了名字为submit的value。

如以下错误示例:

<form>
<input type=”text” name=”submit” />
<input type=”button” name=”submit” value=”提交”/>
<input type=”submit” name=”submit” value=”提交”/>
</form>

解决办法:

将name为submit等关键词改名,如Submit(注意貌似只要不是全部小写的就可以)

2.出现表单嵌套。(form中嵌套form)

在页面中本来有个fom,然后又include一个页面,在这个页面中也有一个form,出现了表单嵌套的情况。。

这样在提交时,被包含的form会提交不了。

解决办法:

去掉一个form表单

3.插件引入问题

检查js路径是否正确;

②注意jquery要放在from.js之前加载;

③尝试替换jquery的版本;

④引入js文件的type

把type=”application/javascript”改为type=”text/javascript”,或者不要type都可以无错运行

报错时是这样的

<script src=”http://file.waiting8.com/js/jquery-1.8.3.min.js” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.form.js” type=”application/javascript” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.validate.min.js” type=”application/javascript” language=”javascript”></script>

改成这样IE8就没问题了

<script src=”http://file.waiting8.com/js/jquery-1.8.3.min.js” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.form.js” type=”text/javascript” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.validate.min.js” type=”text/javascript” language=”javascript”></script>

附加知识:

1、表单应该包含name,aciton,method这三个必须的属性,enctype,id这两个属性可以根据需要加上,表单不要嵌套

2、document.form.action与document.form.submit()一定不要搞混,action是属性,submit是方法,方法不要忘记加上左右括号,这是一般新手经常遇到的问题。