私がやろうとしているのは、その関数のラジオボタンをクリックして、別の関数から関数を呼び出すことです。ここに私がこれまでに取り組んできたコードがあります -
<script type="text/javascript">
rad1 = document.createElement("input");
rad1.type = "radio";
rad1.name = "dooropt";
rad1.id = "rb1";
rad1.value = "y";
newP.appendChild(rad1);
text1 = document.createTextNode("Yes ");
newP.appendChild(text1);
rad2 = document.createElement("input");
rad2.type = "radio";
rad2.name = "dooropt";
rad2.id = "rb2";
rad2.value = "n";
newP.appendChild(rad2);
text2 = document.createTextNode("No ");
newP.appendChild(text2);
button1 = document.createElement("input");
button1.type = "button";
button1.value = "Open main door";
button1.style.visibility = "hidden";
newP.appendChild(button1);
button2 = document.createElement("input");
button2.type = "button";
button2.value = "Open apartment door";
button2.style.visibility = "hidden";
newP.appendChild(button2);
area.appendChild(newP);
rad1.onclick = mainalso();
rad2.onclick = onlyapp();
}
function mainalso()
{
button1.style.visibility="visible";
button2.style.visibility="visible";
}
function onlyapp()
{
button2.style.visibility="visible";
button1.style.visibility="hidden";
}
</script>
ここで、コードから明らかなように、rad1 がクリックされるたびに mainalso() が実行されるようにします。私は JavaScript にかなり慣れていないので、構文や概念のどこで間違いを犯しているのかわかりません。また、最初の関数 (mainalso() の前) は add() であり、その中で、ボディのボタンをクリックすると同じコンテンツを繰り返し追加します。自分のやりたいことが明確になることを願っています。rad1 をクリックすると両方のボタン (button1 と button2) が表示されますが、rad2 をクリックすると 1 つのボタンだけが表示されます。どちらも最初は「非表示」の可視性に設定されています。私を助けてください。わかりづらくてすみません、頑張ってみました..ありがとうございます。