Home > Windows > Opera > ver.9 Under display:none;状態のtextarea要素のvalueプロパティを取得不能

display:none;状態のtextarea要素のvalueプロパティを取得不能

display:none; を指定することでボックスを生成していないtextarea要素に対しては、スクリプト等を用いてDOMのvalueプロパティの値を取得することができない。

例示

<script type="text/javascript">
<!--
function getValue() {
    obj = document.getElementById("txt");
    alert(
        "nodeValue: " + obj.childNodes.item(0).nodeValue + "¥n" +
        "value: " + obj.value
    );
}
// -->
</script>

<form action="./">
    <div>
        <textarea id="txt" style="display:none;">テキストエリアの内容物</textarea>
        <input type="button" value="値を取得" onclick="getValue()" />
    </div>
</form>

ボタンを押すとJavascriptを用いて、textarea要素の内容物をnodeValueプロパティで参照した場合の結果とvalueプロパティで参照した場合の結果をアラートで表示します。

補足

例示のスクリプトを実行すると以下のようになります。Opera6はアラートが表示されないので、valueプロパティの参照のみを行うスクリプトで実行した場合の結果を載せています。

例示の動作結果
nodeValueプロパティ valueプロパティ
WinIE6.0 正しく取得 正しく取得
Netscape7.1 正しく取得 正しく取得
Opera7.23 正しく取得 正しく取得
Opera7.11/7.03 正しく取得 取得不能
Opera6.06 childNodesプロパティが未実装 取得不能

textarea要素のボックスが生成されていればvalueプロパティの値を取得することができます。例えば、visibilityプロパティで不可視状態にしただけのtextarea要素でこの不具合は発生しません。

修正状況

  • Opera6.06、Opera7.03、Opera7.11で不具合の発生を確認しました。
  • Opera7.23でこの不具合は発生しないようです。

Home > Windows > Opera > ver.9 Under display:none;状態のtextarea要素のvalueプロパティを取得不能

Search
オススメ書籍
Feeds

Return to page top