作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,不久前我发现了这个很棒的 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");
}
}
关于javascript - jQuery 将表单序列化为 JSON 对象但忽略占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353919/
我是一名优秀的程序员,十分优秀!