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的复杂程度,这可能会在某些浏览器中造成问题,因此我建议使用我的第一个建议