好的 不久前,我发现了一个很棒的 jQuery 小插件样式脚本,它将获取表单中的所有字段并将它们序列化为 JSON 对象。然而不幸的是。我发现如果没有另外提供,这个函数将使用占位符文本。如果占位符文本是那里的文本,我宁愿将其设置为空。
有什么想法可以将其添加到这个小片段中吗?
(function($) {
$.fn.serializeFormJSON = 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;
};
})(jQuery);
编辑:换句话说,占位符属性可能类似于placeholder="First name"
,并且似乎javascript在获取输入时将其视为实际值。因此,我将名字字段(可选)的条目设为“名字”。所以我想弄清楚如何比较上面的片段所在的当前字段,并让它看到该字段的当前占位符(如果有的话,比如 selects 没有那个属性)。如果要提取的值与占位符属性匹配,我想将该字段添加到正在创建的对象中,null
而不是占位符文本