ここでは Web デザイナーの初心者なので、これらの用語が正しく、質問が恥ずかしくないことを願っています。私が持っているのは、4つのアイテムを持つhtmlフォーム(html5ドキュメント内)です(ただし、さらに多くのアイテムがあります):
- ページを選択
- ページ1
- ページ2
- 3ページ
…そしてこれら 3 ページのそれぞれのテキストは、すべて CSS を使用して隠されています。ページを最初に開くか更新すると、フォーム メニュー ボックスに [ページを選択] が表示されます。ページが選択されると、「infobox.js」(何年も前にネット上のどこかで入手したもの) が、そのページのテキストをメニュー ボックスの下に表示します。完璧に動作します。
代わりに私が望むこと: ページが最初に開かれたときに、「ページを選択してください」がフォーム メニュー ボックスに表示され、その下にページ 1 のテキストが既に表示されています。
これは可能だと思いますが、数日間髪を引き裂くだけで、解決策が誰かにとって本当に簡単になることを願っています. 助けてくれてありがとう!
HTML
<form>
<select id="someID_1" name="someID_1" onChange="selectForm1(this.options[this.selectedIndex].value)">
<option>Choose a Page</option>
<option value="1">Page 1</option>
<option value="2">Page 2</option>
<option value="3">Page 3</option>
</select>
</form>
<div id="allForms1">
<form class="hidden">Text of Page 1</form>
<form class="hidden">Text of Page 2</form>
<form class="hidden">Text of Page 3</form>
</div>
CSS
.hidden { display: none; }
INFOBOX.JS
function selectForm1(frm){
/* Select the div containing all the hidden forms */
var hiddenForms1 = document.getElementById("allForms1");
/* Select every form within the above div and assign it to an array */
theForm1 = hiddenForms1.getElementsByTagName("form");
/* Set the display for each of the above forms to NONE */
for(x=0; x<theForm1.length; x++){
theForm1[x].style.display = "none";
}
/* If the form selected from the list exists, set its display to BLOCK */
if (theForm1[frm-1]){
theForm1[frm-1].style.display = "block";
}
}