【发布时间】:2013-03-07 16:22:17
【问题描述】:
我目前在 Internet Explorer 中使用 jQuery 方法 serialize() 时遇到问题,它在其他浏览器中运行良好。
首先,我将表单存储在一个变量中。
var oForm = document.forms["couponForm"];
然后我将它序列化并作为参数传递给 ajax 调用。
new Ajax.Request(sURL, { asynchronous : false, method : 'post',
parameters : oForm.serialize(true),
onComplete : function(p_oRequest){
},
onException : function(p_oRequest, p_oException) {
throw p_oException;
},
onLoaded : function() {}
});
但是,我在 Internet Explorer 控制台中收到错误消息。
SCRIPT438:对象不支持属性或方法序列化。
IE应该支持serialize吗?
【问题讨论】:
-
你在一个不是 jQuery 对象的对象上调用 jQuery 方法。
-
如果不是 jQuery 对象,难道不应该在每个浏览器中给我一个错误吗?我认为如果 jQuery 出错,它会在任何地方都失败,但它只适用于 IE。
-
@jmoerdyk 你能发表你的评论作为答案吗?这就是我纠正问题的方式,我使用
var oForm = $("couponForm");而不是var oForm = document.forms["couponForm"];,它纠正了 IE 的问题。