【问题标题】:jquery remove empty or white space values from url parametersjquery 从 url 参数中删除空值或空格值
【发布时间】:2013-05-13 16:24:59
【问题描述】:

我正在使用form.serialize() 获取参数列表。

如果参数为空或其空格,我想将其从列表中删除。

例如:

testAction.action?a=1&b=&c=3 

应该给我

testAction.action?a=1&c=3

首先我使用的是正则表达式:

params = params.replace(/[^&]+=\.?(?:&|$)/g, '');

但问题是,如果我的网址是

testAction.action?a=1&b=2&c= 

正则表达式会返回给我

 testAction.action?a=1&b=2& (i have & at the end!)

之后我尝试了 jQuery 解决方案

$('.myForm').find('input, select').not("[value='']").serialize();

但这仅适用于空值 -> 如果我在将传递的值中有空格参数。

你能帮我解决一些其他的问题吗?

谢谢

【问题讨论】:

  • 你应该真正在服务器端处理空值,而不是改变表单数据的传递方式。

标签: jquery regex parameters


【解决方案1】:

试试

$(".myForm :input").filter(function () {return $.trim(this.value);}).serialize();

【讨论】:

    【解决方案2】:

    你可以这样做:

    params = params.replace(/&?[^&?]+=(?=(?:&|$))/g, '');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2017-03-16
      相关资源
      最近更新 更多