display none清除textarea值

时间:2012-02-28 21:54:07

标签: html textarea

<textarea>的内容似乎在我用display : none隐藏后清除,并通过删除display再次显示回来。有没有办法在textarea再次显示时保留原始值?

1 个答案:

答案 0 :(得分:1)

也许尝试使用jQuery或其他一些javascript框架。 在jQuery的情况下,show和hide功能为你带来了魔力。

<textarea cols="5" rows="5" id="test">Test</textarea>
<input type="button" value="switch on" onclick="$('#test').show();">
<input type="button" value="switch off" onclick="$('#test').hide();">​

好吧,如果您只是移除显示屏,可能会出现一些故障。如果要使其再次可见,则必须将其设置为内联(如果是内联元素)或块(如果是块元素)。 css-Property显示可以设置为none | inline | block。因此,如果将显示设置为无,则应将其设置为内联,而不是之后删除属性。

这是一个没有jQuery的解决方案:

<textarea id="test">TEST</textarea>
<input type="button" value="switch on" onclick="showTest();"/>
<input type="button" value="switch off" onclick="hideTest();"/>

<script type="text/javascript">
  function hideTest() {
    var field = document.getElementById('test');
    field.style.display = 'none';
  }

  function showTest() {
    var field = document.getElementById('test');
    field.style.display = 'inline';
  }

​</script>​​​​​​​​​​​​