1

可能重复:
如何使用 jQuery 的 form.serialize 但排除空字段

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

JSFiddle - 序列化

4

1 回答 1

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();
});

演示

于 2012-07-08T10:17:15.323 回答