1

私は JavaScript を初めて使用し、それを使用して CSS プロパティを削除する際に問題が発生しています。

これが私がやろうとしていることです:

チェックボックスがオフのときはテキスト入力ボックスを非表示にし、チェックボックスをオンにすると表示できるようにしようとしています。ここに私が持っているコードがあります:

<html>
<head>
<script>


if (document.box.test.checked == true)
    {document.getElementById("test").style.display == "";
    }



</script>
<body>

<form name="box"> 
<input type="checkbox" name="test" value="engraved">Engraved?
</form>

<div id="test" style="display:none">
<p>Engraving Message here:</p>
<form>
<input type="text" name="engraving-text" value="Type here">
</form>
</div>



</body>
</html>

どんな助けでも大歓迎です。みんな、ありがとう!

4

2 に答える 2

1

onchangeでイベントを使用できますcheckbox

<input type="checkbox" name="test" value="engraved" onchange="show_hide()">

次に、入力ボックスを切り替えます

function show_hide()
{
    if (document.box.test.checked) {
        document.getElementById("test").style.display = "block";
    } else {
        document.getElementById("test").style.display = "none";
    }
}

テスト用のJSFiddle

于 2013-01-27T03:46:40.193 に答える
1

ここには2つの問題があります。

  1. あなたが書いたスクリプトは、表示を "" に変更しますが、本来あるべきテキストボックスを表示しますdisplay="none";
  2. チェックボックスの値を変更するたびにスクリプトが実行されるわけではありません。

これを試して。チェックを関数にカプセル化し、その関数を本文の onload イベントとチェックボックスの oncchage イベントに追加します。

<script>

function checkHideTextField()
{
   if (document.box.test.checked == true)
   {
      document.getElementById("test").style.display == "none";
   }
}

</script>
<body onload="checkHideTextField()">

<form name="box"> 
<input onchage="checkHideTextField()" type="checkbox" name="test" value="engraved">Engraved?
</form>

<div id="test" style="display:none">
<p>Engraving Message here:</p>
<form>
<input type="text" name="engraving-text" value="Type here">
</form>
</div>

</body>
</html>
于 2013-01-27T03:46:49.487 に答える