日期:2014-05-16  浏览次数:20403 次

请教js动态显示隐藏表单后,取不到值
<script>
function djxs(x,y){
document.getElementById(x).style.display="";
document.getElementById(y).style.display="none";
}
</script>
<form method="post" action="untitled7.asp">
<input type="radio"  name="dj" value="是"  onclick="djxs('qzc1','qzc2')"/> 是
<input type="radio"  name="dj" value="否"  onclick="djxs('qzc2','qzc1')"/> 否
<div id="qzc1">
<input type="text" value="111" name="aa"/>
</div>
<div id="qzc2" style="display:none">
<input type="text" value="222" name="aa" />
</div>
<input type="submit" value="提 交" />
</form>


比如这个,单选按钮选中是或否
底下动态隐藏显示后,取不到值

提交后,取name:aa的值取不准确
不能把文本框加id,取id值


该如何修改

多谢

------解决方案--------------------
以藏后移除,或设置成不可用  。你这样每次取到都是第一个文本框的值 所以不准确
------解决方案--------------------
disabled="disabled" 设置不可用 脚本中设置该属性false时是可用。
------解决方案--------------------
LZ试试在TXT里加上自定义属性。比如:

<div id="qzc1">
    <input type="text" value="111" name="aa" scope='qzc1' />
</div>
<div id="qzc2" style="display:none">
    <input type="text" value="222" name="aa" scope='qzc2' />
</div>

然后取出所有name为"aa"的txt元素,接着依据scope过滤
------解决方案--------------------
对于表单  不建议直接使用

display:none

可以替换成

visibility : hidden
z-index:-1

试试   
------解决方案--------------------
LZ可以在SUBMIT按钮加上JS事件,动态在表单里添加隐藏域,隐藏域的值即name为aa的值。
或者直接在HTML里加一个隐藏域,然后点击SUMIT按钮为隐藏域赋值,传递给后台