假设您有一个表单,您可以在其中切换多个字段的可见性。如果该字段没有显示,您就不希望它的值出现在请求中。
你是如何处理这种情况的?
发布于 2009-09-03 15:34:35
将表单元素设置为禁用将阻止其转到服务器,例如:
<input disabled="disabled" type="text" name="test"/>
在javascript中,它的意思是:
var inputs = document.getElementsByTagName('input');
for(var i = 0;i < inputs.length; i++) {
if(inputs[i].style.display == 'none') {
inputs[i].disabled = true;
}
}
document.forms[0].submit();
在jQuery中:
$('form > input:hidden').attr("disabled",true);
$('form').submit();
发布于 2009-09-03 15:35:21
您可以使用javascript来设置disabled属性。“提交”按钮单击事件可能是执行此操作的最佳位置。
然而,我建议你不要这么做。如果可能,您应该在服务器上过滤您的查询。这将更加可靠。
发布于 2013-01-25 12:52:49
如果您想禁用隐藏父元素中的所有元素或某些元素,可以使用
$("div").filter(":hidden").children("input[type='text']").attr("disabled", "disabled");
此示例http://jsfiddle.net/gKsTS/禁用隐藏div中的所有文本框
https://stackoverflow.com/questions/1374147
复制相似问题