想象一下,你有,你切换多个领域的知名度形式。 如果没有显示字段,你不希望它的价值是在请求。
你是如何处理这种情况?
想象一下,你有,你切换多个领域的知名度形式。 如果没有显示字段,你不希望它的价值是在请求。
你是如何处理这种情况?
一个表单元素设置为禁用会阻止它去访问服务器,例如:
<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();
你可以使用JavaScript来设置残疾人属性。 “提交”按钮,单击事件可能是做到这一点的最佳场所。
不过,我建议不要做这个的。 如果可能的话,你应该过滤服务器上的查询。 这将是更可靠。
如果你想禁用隐藏的父元素中的所有元素或某些元素,你可以使用
$("div").filter(":hidden").children("input[type='text']").attr("disabled", "disabled");
这个例子http://jsfiddle.net/gKsTS/禁用隐藏的专区内的所有文本框
关于什么:
$('#divID').children(":input").prop("disabled", true); // disable
和
$('#divID').children(":input").prop("disabled", false); // enable
要切换隐藏DIV中的所有儿童的输入(选择,复选框,输入,文字区域,等等)。
一个很简单(但并不总是最方便的)的解决方法是删除“名称”属性 - 该标准要求的浏览器不发送不愿透露姓名的值,我知道所有的浏览器遵守这个规则。
我想无论是从输入删除值或分离从DOM中输入对象,因此不存在在第一时间进行发布。