※ ChatGPTを利用し、要約された質問です(原文:Javascriptによるフォームの選択表示について教えてください。)
Javascriptによるフォームの選択表示について
このQ&Aのポイント
Javascriptを使用してフォームの選択表示を行いたい。現在は、1箇所、2箇所、5箇所の選択によって対応するフォームを表示することができているが、ページが表示された時点では全ての表示がされてしまっている。実際には、ページが表示された時点で1箇所のフォームのみ表示し、2箇所、5箇所の選択時にのみそれぞれのフォームを表示したいと思っている。
問題点は、ページが表示された時点で1箇所、2箇所、5箇所のフォームが全て表示されてしまっていること。実際には、ページが表示された時点で1箇所のフォームのみ表示し、選択された箇所に応じて2箇所、5箇所のフォームを表示するようにしたい。
現在はJavascriptを使用して1箇所、2箇所、5箇所のフォームを表示することができるが、ページが表示された時点では全てのフォームが表示されてしまっている。実際には、ページが表示された時点で1箇所のフォームのみ表示し、選択された箇所に応じて2箇所、5箇所のフォームを表示するようにしたい。
Javascriptによるフォームの選択表示について教えてください。
Javascriptによるフォームの選択表示について教えてください。
概要としてはカートCGIのお客様情報入力欄のカスタマイズを行なっています。
別の場所への発送を希望される場合において(1)、(2)、(3)のラジオボタンを作り、それぞれ選択によって該当のフォームを表示するところまではできました。
問題は、(1)→1箇所、(2)→3箇所、(3)→5箇所とフォームを作ったところ、入力ページが表示された時点で(1)(2)(3)全ての表示がされた状態で表示されます。
ちなみに、その際にラジオボタンを選択すると(1)(2)(3)それぞれに対応したフォームが表示され切り替わります。
実際にやりたいことは、ページが表示された時点で(1)のフォームのみ表示されるようにし、(2)(3)とラジオボタンを選択された際にそこで初めて(2)(3)のそれぞれのフォームを表示したいと思っています。
以下はソースです。
■Javascript
<script type="text/javascript">
function func1() {
document.getElementById("sele1").style.display="inline";
document.getElementById("sele1").disabled=false;
document.getElementById("sele2").style.display="none";
document.getElementById("sele2").disabled=true;
document.getElementById("sele3").style.display="none";
document.getElementById("sele3").disabled=true;
}
function func2() {
document.getElementById("sele1").style.display="none";
document.getElementById("sele1").disabled=true;
document.getElementById("sele2").style.display="inline";
document.getElementById("sele2").disabled=false;
document.getElementById("sele3").style.display="none";
document.getElementById("sele3").disabled=true;
}
function func3() {
document.getElementById("sele1").style.display="none";
document.getElementById("sele1").disabled=true;
document.getElementById("sele2").style.display="none";
document.getElementById("sele2").disabled=true;
document.getElementById("sele3").style.display="inline";
document.getElementById("sele3").disabled=false;
}
</script>
■CGI(HTML)側
<form action="xxx">
<table border=0 cellpadding=5 cellspacing=2 width=500>
<p>発送先が2箇所以上の場合はこちらから選択ください。
<input type="radio" value="1" onclick="func1('block')" />1箇所</label>
<input type="radio" value="2" onclick="func2('none')" />2箇所</label>
<input type="radio" value="3" onclick="func3('none')" />5箇所</label>
</p>
</table>
<table id="sele1">
</table>
<table id="sele2">
</table>
<table id="sele3">
</table>
</form>
table内容は省略しています。
説明が下手ですがどうかご教授ください。宜しくお願いします。
お礼
おかげさまで思い通りにいきました。 ご親切にアドバイスを頂きありがとうございます。