作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这段代码在提交表单“undefined is not a function in line 21”时给我一个错误,我不知道为什么
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
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;
};
$("form[name=dForm]").submit(function(ev){
ev.preventDefault();
var data = $(this).serializeObject();
data.push({name:"bonjour",value:bonjour});
// do something here ...
})
或者它必须是一个数组而不是一个对象?
最佳答案
serializeObject
返回 o
,它在函数顶部定义为 {}
。
push
是 Array 对象的方法,不是普通对象。它将一个项目放在数组的末尾。
普通对象是无序的。没有放置项目的“结束”,因此 push
方法没有意义。
您大概只想创建一个具有给定名称和值的新属性。
data.push({name:"bonjour",value:bonjour});
应该是
data.bonjour = bonjour;
关于javascript - jQuery push() 返回错误 "undefined is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891103/
我是一名优秀的程序员,十分优秀!