Forms 如何停止提交表单div中的所有字段?

Forms 如何停止提交表单div中的所有字段?,forms,post,html,hidden,Forms,Post,Html,Hidden,我把表格分为两部分:sec1和sec2。每个部分都是名为sec1Div和sec2Div的div的一部分。根据某些选择,其中一个div是隐藏的。但问题是隐藏部分中的字段仍然被提交。请建议一种方法,以便在提交时不提交div中的所有字段。有几种方法可以做到这一点。您可以将函数挂接到表单提交的事件,或者删除隐藏div中字段的名称属性。您还可以通过设置disabled=“disabled”来禁用字段 如果您正在使用,则可以执行这些示例 要禁用隐藏div中的所有字段,可以执行以下操作: function h

我把表格分为两部分:
sec1
sec2
。每个部分都是名为
sec1Div
sec2Div
的div的一部分。根据某些选择,其中一个div是隐藏的。但问题是隐藏部分中的字段仍然被提交。请建议一种方法,以便在提交时不提交div中的所有字段。

有几种方法可以做到这一点。您可以将函数挂接到表单
提交
的事件
,或者删除隐藏div中字段的
名称
属性
。您还可以通过设置
disabled=“disabled”
来禁用字段

如果您正在使用,则可以执行这些示例

要禁用隐藏div中的所有字段,可以执行以下操作:

function hideDiv(el) {
    $('input', el).each(function(){
        $(this).attr('disabled', 'disabled');
    });
    $(el).hide();
}
以及相应的show div功能:

function showDiv(el) {
    $('input', el).each(function(){
        $(this).removeAttr('disabled');
    });
    $(el).show();
}

请注意,这只是一个代码示例。但是你可以从中吸取教训。

有几种方法可以做到这一点。您可以将函数挂接到表单
提交
的事件
,或者删除隐藏div中字段的
名称
属性
。您还可以通过设置
disabled=“disabled”
来禁用字段

如果您正在使用,则可以执行这些示例

要禁用隐藏div中的所有字段,可以执行以下操作:

function hideDiv(el) {
    $('input', el).each(function(){
        $(this).attr('disabled', 'disabled');
    });
    $(el).hide();
}
以及相应的show div功能:

function showDiv(el) {
    $('input', el).each(function(){
        $(this).removeAttr('disabled');
    });
    $(el).show();
}

请注意,这只是一个代码示例。但是你可以从中得到启发。

发生这种情况的原因是元素仍然在
表单
元素中。使用CSS隐藏
div
不会改变这一点-它们仍然存在于DOM中

在每个
div
中添加一个隐藏的
input
字段可能是最简单的方法,该字段可用于标识您应该处理的服务器端。然后可以忽略隐藏表单中的数据


如果您确实必须阻止发布数据,这会有点混乱,但是您可以将隐藏的
div
内容移到
表单
元素之外,这样字段就不会被提交。如果要再次显示
div
,则需要将字段移回。根据CSS的复杂程度,这可能会在某些浏览器中导致问题,因此我建议使用我的第一个建议。

发生这种情况的原因是元素仍然在
表单中。使用CSS隐藏
div
不会改变这一点-它们仍然存在于DOM中

在每个
div
中添加一个隐藏的
input
字段可能是最简单的方法,该字段可用于标识您应该处理的服务器端。然后可以忽略隐藏表单中的数据

如果您确实必须阻止发布数据,这会有点混乱,但是您可以将隐藏的
div
内容移到
表单
元素之外,这样字段就不会被提交。如果要再次显示
div
,则需要将字段移回。根据CSS的复杂程度,这可能会在某些浏览器中造成问题,因此我建议使用我的第一个建议