的JavaScript - 隐藏/显示基于选择
问题描述:
DIV我有哪里用户必须选择从下拉菜单中选择一个值,并基于该值,其余FO表单元素显示在轨道的形式。的JavaScript - 隐藏/显示基于选择
<div id="A">
a
b
c
</div>
<div id="B">
x
y
z
c
</div>
<div id="B">
w
a
q
c
</div>
当用户从选择菜单中选择值A时,显示ID为A的div,其余的div被隐藏。
问题是某些字段在不同的div中重复出现,并且当用户在div A中为字段'a'输入值时,该值将被div B中的空白值覆盖,尽管div B对视图隐藏。
我想知道是否有可能在不同的div中具有相同的字段,并且能够仅存储显示的div中的字段值,即使该字段在其他div中也可以找到。
许多许多感谢提供任何建议。
答
当您隐藏的div,打开所有儿童残疾人属性,当你告诉一个div将其删除。类似这样的:
var showDiv = function (id) {
var all = [document.getElementById('A'),
document.getElementById('B'),
document.getElementById('C')],
cur = document.getElementById(id),
inps;
for (var i = 0, il = all.length; i < il; i++) {
inps = all[i].getElementsByTagName('input');
for (var j = 0, jl = inps.length; j < jl; j++) {
inps[j].setAttribute('disabled', 'disabled');
}
all[i].style.display = 'none';
}
inps = cur.getElementsByTagName('input');
for (j = 0, jl = inps.length; j < jl; j++) {
inps[j].removeAttribute('disabled');
}
cur.style.display = 'block';
};
+0
非常感谢您提供的所有建议:) – tanya 2011-05-19 12:16:00
答
为什么不给领域稍有不同的值,并检查其中一个实际上是与一个的onsubmit功能填写。
您有:
A1 b C1 X Ÿ ž C2 W¯¯ A1 q C2然后在的onsubmit: IF(A1 !=''){submit a1} else if(a2!=''){submit a2}
对不起,不完全代码,但它是一个供您从头开始的地方。
需要看到HTML真的。你是否在每个div的输入中使用了相同的'name'属性?这将是问题。 – 2011-05-16 22:36:43
我同意Nick Brunt。而且div是否隐藏是**不重要**,只有名字很重要。此外,具有相同ID的两个元素不好... – JiminP 2011-05-16 22:41:19
是的,我同意你的两个。根据选择列表中的选择,显示包含输入字段的各个div。现在,当用户在该输入字段中输入一个值时,会调用ajax调用,并从该dbase中检索到的数据显示在表单上。数据显示的方式与选择列表中的每个选择不同 – tanya 2011-05-16 22:50:33