【问题标题】:Ignore input fields on form submit with jQuery使用 jQuery 忽略表单提交上的输入字段
【发布时间】:2011-05-06 09:02:02
【问题描述】:

我想在使用 jQuery 提交表单时只包含某些表单字段。例如,我想忽略所有具有disabled 属性的字段......也许是这样的:

$('#my_button').click(function() {
    if($('input').hasAttr('disabled') {
        //ignore this form field when submitting
    }
    $('form').submit();
});

有什么想法吗?

【问题讨论】:

    标签: jquery webforms


    【解决方案1】:

    没必要,disabled 输入已被排除在外已经。各种 jQuery 方法,包括 submit()serialize() 都遵循 HTML 4 规范,用于 Web 表单中的禁用控件,如下所示:

    成功的控件对于提交是“有效的”。每个成功的控件都将其控件名称与其当前值配对,作为提交的表单数据集的一部分。成功的控件必须在 FORM 元素中定义,并且必须具有控件名称。

    但是:

    • disabled 的控件无法成功。

    http://www.w3.org/TR/html401/interact/forms.html#successful-controls

    【讨论】:

    • +1 - 对于那些好奇的人,jQuery performs the same filter when it serializes.
    • 我正要发帖,我认为无论如何它都会默认忽略它。
    • 但是一个 disabled-attribute 可以用 javascript 设置为 false。在这种情况下,它们也会被提交,也许这就是 ThePixelProdigy 想要改变的行为。
    • @DrMolle:有可能,但这不是他的问题给人的印象,而是要求一种将禁用控件排除在提交之外的方法。
    • 但这并没有解决根本问题。一个完整的答案将解决禁用控件的问题,但主要关注问题本身:如何在表单提交中包含任意的表单控件子集?
    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 2015-06-07
    • 2021-09-01
    相关资源
    最近更新 更多