javascript - 在表单提交jquery之前删除空值

标签 javascript jquery forms

我有几个文本输入的表单。

当用户点击此表单上的提交时 - 文本输入字段值被序列化并像这样成为 GET 请求的参数

?param1+=26482&param2=

我需要检查:如果参数没有值则将其删除。因此只有具有值的参数才会附加到 GET 请求。

应该怎么做?

我的提交功能

$("body").on('click','#form_submit_button', function(e){
    var form = $('#filter_form');
    change_url('?'+form.serialize());
});

function change_url(link)
{
    var IE = IE || 0;

    if (IE == 0) {
        var stateObj = { foo: "bar" };
        history.pushState(stateObj, "page 2", link);
    } else {
        location.href = link;
    }
}

最佳答案

您可以使用以下 js 过滤您的表单,仅包括具有值的输入。

http://jsfiddle.net/63ux5ap9/

  $(document).ready(function () {
        $('#filter_form').submit(function () {
            var text = $(this).find(":input").filter(function () {
                return $.trim(this.value).length > 0
            }).serialize();
            console.log('text: ', text);
            return false;
        });
    });

关于javascript - 在表单提交jquery之前删除空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26465912/

相关文章:

php - 使用 Php 在 Mysql 中输入日期的问题

javascript - 迭代同一数组两次时,Handlebars 会打印错误的内容

javascript - 启用 mouseup/mousedown 但防止点击行为

JavaScript 过滤器 - 从 jQuery 过滤器回调方法返回什么?

javascript - d3.js 以图像作为标签的雷达图

jquery - 如何删除数据表中的分页

javascript - 选择 jQuery 后跳过行

Django:ModelChoiceField 删除默认值 --------- 选择

javascript - 检测加载了 JavaScript 的页面

javascript - 将按键或事件监听器添加到输入, "TypeError: ...addEventListener is not a function"