我目前有3個獨立的字段集兩個(B & C)包含窗體和一個(A)包含一個列表。字段A將位於左側,字段B和C將在右側指定位置。JavaScript - 根據事件在同一區域顯示不同的字段集
在字段集A中單擊的內容將決定將顯示哪個字段集。 因此,如果我單擊A上的列表項目1,B將出現在右側。如果我點擊列表項目2,C將取代B.
我目前不關心CSS,我只想在選擇li時顯示相應的字段集。
我很困惑如何實現這個目標。我玩過在php中使用顯示功能的想法,並根據所選的功能調用該功能。不過,我覺得這更像是一個JavaScript的東西。理想情況下,最好有一個JavaScript函數來顯示HTML結構。所以當點擊li時,該函數將被調用。不過,我對JavaScript很陌生,而我在這方面的嘗試還沒有成功。我甚至在正確的軌道上完成這個?任何投入將不勝感激。
我的代碼:
<fieldset >
\t <legend>A</legend>
\t \t <ul>
\t \t <li onclick ="displayB();">List Item 1</li>
\t \t <li onclick ="displayC();">List Item 2</li>
\t \t </ul>
</fieldset>
<script>
function displayB(){ </script>
\t <fieldset>
\t <legend>B</legend>
\t \t <form method="post" action="index.php">
\t \t \t <label>Input 1 </label>
\t \t \t <input type="text" size="20">
\t \t \t <br>
\t \t \t <label>Input 2 </label>
\t \t \t <input type="text" size="20">
\t \t \t <br> \t \t \t \t \t \t
\t \t \t <input type="submit" value="Add" />
\t \t </form>
\t \t <table>
\t \t <tr>
\t \t <td></td><td>Input</td>
\t \t </tr> \t
\t \t <tr>
\t \t <td><button>X</button></td><td>Input 1</td>
\t \t </tr>
\t \t </table> \t \t \t \t \t
\t </fieldset>
\t \t \t
<script> } \t
function displayC(){ </script>
\t <fieldset>
\t <legend>C</legend>
\t \t <form method="post" action="index.php">
\t \t \t <label>Input 1 </label>
\t \t \t <input type="text" size="20">
\t \t \t <br>
\t \t \t <label>Input 2 </label>
\t \t \t <input type="text" size="20">
\t \t \t <br> \t \t \t \t \t \t
\t \t \t <select>
\t \t \t \t <option>Option 1</option>
\t \t \t </select>
\t \t </form>
\t \t <input style="float:right;" type="submit" value="Edit" /> \t \t \t \t
\t </fieldset>
<script> } </script>
這是絕對完美!是否有一個特定的原因,我寧願只顯示HTML?我不介意這種方式,我只是好奇兩者的差異以及利弊,以及如何實際運作。非常感謝! – user5166162
不,我不認爲有一個真正的理由不在那裏但隱藏。有些人只是有一定的標準。從你的問題來看,這些元素都不存在,直到他們需要,所以我只是檢查,因爲我的回答改變了你原先設想的情景。我認爲在大多數情況下,您需要的東西都可以使用。 – AtheistP3ace
可能更乾淨的替代方法:設置一個CSS類並讓CSS顯示/隱藏字段集 –