jquery:如何在提交之前从表单中删除空白字段?

前端之家收集整理的这篇文章主要介绍了jquery:如何在提交之前从表单中删除空白字段?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个页面上有一组表单,用于API测试。由于不值得解释的原因,我通常不想在提交给服务器时包含空字段。提交前如何从数据中删除空字段?

例如,如果我有一个具有两个字段的窗体,foo和bar,并且用户将空格留空,我希望服务器看到提交,就像唯一的字段是foo一样。

我的第一个刺伤涉及到使用jquery与这些字段循环

$("form").submit(function() {
    $(this).children(':input').each(...)
}

删除字段。但是,a)没有工作,b)似乎会删除字段从页面上可见的形式,而不是我想要的。

另一种方法可能是循环遍历这些字段,并用不同于“”的值的字段手动构造提交字符串。会工作吗有什么更好的想法?

解决方法

一种方法是在这些字段上设置“disabled”属性,从而阻止其值序列化并发送到服务器:
$(function()
{
    $("form").submit(function()
    {
        $(this).children(':input[value=""]').attr("disabled","disabled");

        return true; // ensure form still submits
    });
});

如果您有客户端验证,您还需要在验证失败的情况下重新启用这些字段:

$(':input').removeAttr("disabled");

编辑:修复错误

原文链接:https://www.f2er.com/jquery/182030.html

猜你在找的jQuery相关文章