То, что вы хотите сделать, это начать с события onchange
вашей причины, выбрав поле:
<select name="reason" id="reason" onchange="myFunc();">
myFunc()
(простите, я не очень креативен) будет там, где выпоказывать / скрывать другие входные данные - возможно, это не другая форма , поскольку обычно входные данные собираются в одну форму на странице.Каждый вход (или набор входов) должен быть в своем собственном теге <div>
, и затем вы можете использовать свойство element.style.display
тега, чтобы показать / скрыть входные данные, как описано в других ответах.Например, в вашей форме может быть указано следующее:
<form name="myform" action="" method="get" id="myform">
Reason: <select name="reason" id="reason" onchange="myFunc()">
<option>
Conference/Meeting
</option>
<option>
Loaner
</option>
</select>
<div id="conferenceInputs">
Conference:
<select name="conferenceSelectBox" id="conferenceSelectBox">
<option>Option 1</option>
<option>Option 2</option>
</select>
</div>
<div id="loanerInputs">
Loaner:
<select name="loanerSelectBox" id="loanerSelectBox">
<option>Option 1</option>
<option>Option 2</option>
</select>
</div>
<input type="button" name="submit" value="Submit" onclick="submitSelect(this.form)" />
</form>
JavaScript myFunc()
будет выглядеть примерно так:
function myFunc() {
var selectElem = document.getElementById('reason');
var optionText = selectElem.options[selectElem.selectedIndex].text;
switch(optionText) {
case "Conference/Meeting":
document.getElementById('conferenceInputs').style.display = 'block';
document.getElementById('loanerInputs').style.display = 'none';
break;
case "Loaner":
document.getElementById('loanerInputs').style.display = 'block';
document.getElementById('conferenceInputs').style.display = 'none';
break;
default:
}
}
Наконец, вы захотите иметь JavaScriptфункция, загружающая страницу HTML - <body onload="anotherFunc()">
, которая устанавливает оба свойства style.display div
в значение none, чтобы они не отображались до того, как пользователь что-либо выберет.