我正在使用jQuery,特别是这个函数
$("#postStatus").serializeObject();
它在Chrome和Safari中运行得非常好,但是当我在Firefox中使用它时它不起作用.我用Firebug看看它给出了什么错误,我得到了这个
$("#postStatus").serializeObject is not a function
为什么这个功能在Firefox中不起作用?
更新中...
哦,是的,我完全忘记了它不是核心功能.我记得我搜索了一种方法来序列化一个表格并找到了这个解决方案;
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name]) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
Run Code Online (Sandbox Code Playgroud)
我已经设法通过将上面的函数放在JS文件的顶部来解决这个问题.谢谢你的帮助.
AFAIK jQuery没有定义serializeObject其核心功能.可能你正在使用一个插件,并且它只在Firefox中存在问题,因此可以安全地假设你的脚本包含正确,尝试将你的代码包装在就绪处理程序中
$(function(e){
$("#postStatus").serializeObject();
});
Run Code Online (Sandbox Code Playgroud)
或者您可以将javascript放在页面底部.
| 归档时间: |
|
| 查看次数: |
22830 次 |
| 最近记录: |