日期:2014-05-16 浏览次数:20418 次
我的这个jquery.form.js不知道是哪个版本的
觉得很奇怪,以前用的好好的,js没改过
用Firefox测试正常通过,IE提示缺少对象
利用IE开发者工具测试了下发现代码行数512行报错
var v = $.browser.msie && !(op.attributes['value'].specified) ? op.text : op.value;
看来这句代码挡住了: op.attributes['value'] == undefined
?
初步估计是ie下select元素的option没有指定value造成的, 生产环境下这个select下只有这一个元素,我页面也有一部分是struts2的select标签,没有问题。
然后我发现我有这么几句代码:
<select style="width: 138px" name="project.isvalid"
id="project.isvalid" role="p_base_info.vc_isvalid">
<option ></option>
<option value="1">
是
</option>
<option value="0">
否
</option>
</select>
我的第一个选项是无值的
找了下,原来新的版本已经解决这个问题了
* version: 2.43 (12-MAR-2010)
if (!v) // extra pain for IE...
v = (op.attributes && op.attributes['value'] && !(op.attributes['value'].specified)) ? op.text : op.value;
不过我自己没有更新js版本
解决方案是将<option ></option>修改为:<option value=""></option>