【问题标题】:Remove empty fields/inputs from Serialize string [duplicate]从序列化字符串中删除空字段/输入[重复]
【发布时间】:2012-07-08 02:23:50
【问题描述】:

可能重复:
How do I use jQuery's form.serialize but exclude empty fields

如果未在表单上填写未使用的输入名称,我需要从序列化字符串中删除它们。请参阅附加的 JSFIddle。目前,如果有人只填写 Q1 和 Q3 的名称,则字符串显示如下/static/url/to/file.php?Q1=Bob&Q2=&Q3=Dan&Q4=。因此,我想在提交之前从字符串中删除 Q2=Q4= 名称。谢谢

JSFiddle - Serialize

【问题讨论】:

标签: jquery serialization


【解决方案1】:

试试这个:

$('#form1').find('input[type="text"]').not('#url').change(function(){
    var val = "";
    var url = '/static/url/to/file.php?';
    $('form input[type="text"]').not('#url').each(function(){
        if ($.trim(this.value).length > 0 ) { 
          val += ($(this).attr('name') + "=" + this.value + "&");
        }  
    })
    $('#url').val(url+val);
});

$('#button').click(function(){
    window.location = $('#url').val();
});

DEMO

【讨论】:

  • 谢谢...我只需要将输入答案附加到可见结果框中的 URL 上?结果框隐藏在提交按钮后面。对不起,我有点 jquery 新手。
  • @SamuelTattersfield 欢迎您,尝试更新的答案。
  • 好东西..非常感谢。一个问题,Demo似乎在结果框中包含了两次url?
  • @SamuelTattersfield 欢迎您。在 Firefox 上不适合我。
  • 奇怪...我也在 Firefox 上,我也在 chrome 中尝试过,字符串看起来像这样 /static/url/to/file.php?Q1=bob&Q3=dan&Q4=rob&url= /static/url/to/file.php?Q1=bob&Q3=dan&url=/static/url/to/file.php?Q1=bob&&&
猜你喜欢
  • 1970-01-01
  • 2014-08-02
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多