gpt4 book ai didi

javascript - jQuery 将表单序列化为 JSON 对象但忽略占位符

转载 作者:行者123 更新时间:2023-11-30 18:15:35 24 4
gpt4 key购买 nike

好吧,不久前我发现了这个很棒的 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 在获取输入时似乎将其视为实际值。所以我将名字字段(可选)的条目作为“名字”。所以我想要弄清楚如何比较上面的片段所在的当前字段,并让它看到该字段的当前占位符(如果有的话,比如选择没有那个属性)。如果提取的值与占位符属性匹配,我想将该字段添加到正在创建的对象中,但作为 null 而不是占位符文本

最佳答案

为什么不在序列化之前清除占位符?

function clearPlaceHolders(){
var form = document.GetElementById("formId");
$(form).find("input").each(function(index,el){
el.removeAttribute("placeholder");
}
}

查看示例:http://jsfiddle.net/WjEK9/

关于javascript - jQuery 将表单序列化为 JSON 对象但忽略占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com