在 jQuery 序列化中包含占位符

Posted

技术标签:

【中文标题】在 jQuery 序列化中包含占位符【英文标题】:Include placeholder in jQuery serialize 【发布时间】:2016-01-17 04:03:00 【问题描述】:

我有一个表单,我使用 jQuery 的 serialize 函数通过 AJAX 调用发送。但是,我的某些字段可能有值,也可能没有值,如果它们没有值,它们可能有一个占位符。如果值为空,我希望serialize 会发送占位符,但在测试中似乎并非如此。当实际值为空时,是否可以让serialize 包含占位符值,还是我必须编写一些自定义逻辑?

【问题讨论】:

【参考方案1】:

您需要在调用 serialize() 之前循环输入的内容

$('#myForm :input[placeholder]').val(function(idx, currVal)
    var placeholder = $(this).attr('placeholder') || '';
    return currVal ? currVal : placeholder ;    
);

// serialize here

以上使用val(function) 创建循环并将每个元素视为唯一实例

假设设置控件本身的值是可以接受的,因为这是最简单的方法。

【讨论】:

以上是关于在 jQuery 序列化中包含占位符的主要内容,如果未能解决你的问题,请参考以下文章