从Serialize字符串中删除空字段/输入

时间:2012-07-08 10:11:03

标签: jquery serialization

  

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

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

JSFiddle - Serialize

1 个答案:

答案 0 :(得分: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