0

我正在尝试用这些简单的方法编辑我的表单

测试:

<span id="a">30 <span id="aa" style="display:none;"><input type="text" id="aa" name="q"/></span></span>
<span id="cq"><a href="javascript:changeQty()">Change</a></span>
<span id="cq2" style="display:none"><a href="javascript:save()">save</a></span>

<script>
  function changeQty(){
    document.getElementById("a").style.display="hidden";
    document.getElementById("aa").style.display="inline";
    document.getElementById("cq").style.display="hidden";
    document.getElementById("cq2").style.display="inline";
  }
</script>

但奇怪的是,我隐藏字段的尝试没有奏效。但是当我点击Change链接时,我可以查看隐藏的字段。我在做什么错?

4

2 回答 2

7

没有hidden属性display,你需要使用none

function changeQty(){
  document.getElementById("a").style.display="none";
  document.getElementById("aa").style.display="inline";
  document.getElementById("cq").style.display="none";
  document.getElementById("cq2").style.display="inline";
}
于 2013-05-21T02:38:54.240 回答
1

你犯了两个非常简单的错误

  1. 在 javascript 中,使用 vale "none" 显示隐藏元素的样式属性

  2. 元素“aa”是元素“a”的子元素。所以当你使用
    document.getElementById("a").style.display="none"; 还隐藏元素“aa”

所以你可能想要的最终解决方案如下

<span id="a">30</span>
<span id="aa" style="display:none;"><input type="text" id="aa" name="q"/></span>
<span id="cq"><a href="javascript:changeQty()">Change</a></span>
<span id="cq2" style="display:none"><a href="javascript:save()">save</a></span>

<script>
  function changeQty() {
    document.getElementById("a").style.display="none";
    document.getElementById("aa").style.display="inline";
    document.getElementById("cq").style.display="none";
    document.getElementById("cq2").style.display="inline";
   }
</script>
于 2013-05-21T03:03:19.693 回答