0
我試圖根據選擇顯示/隱藏兩個元素 - 使用Javascript getElementsByName的標籤和輸入。它與getElementByID一起工作,如果我在標籤和輸入上進行更改,但由於某種原因,Name不起作用。下面是代碼:根據選擇顯示/隱藏表單元素
<script language="JavaScript" type="text/javascript">
<!--
function Toggle(obj){
var val=obj.value;
if (!obj.m){ obj.m=''; }
if (!obj.m.match(val)){ obj.m+=','+val+','; }
var hide=obj.m.split(',');
for (var zxc0=0;zxc0<hide.length;zxc0++){
if (document.getElementsByName(hide[zxc0])){
document.getElementsByName(hide[zxc0]).style.display='none';
}
}
var show=val.split(',');
for (var zxc1=0;zxc1<show.length;zxc1++){
if (document.getElementsByName(show[zxc1])){
document.getElementsByName(show[zxc1]).style.display='';
}
}
}
//-->
</script>
,這裏是爲表單元素:
<div id="styled-select">
<select name="how" onchange="Toggle(this);" class="dropdown">
<option value="Internet Search">Internet Search</option>
<option value="Facebook" >Facebook</option>
<option value="Twitter" >Twitter</option>
<option value="LinkedIN" >LinkedIN</option>
<option value="Referral">Referral</option>
<option value="Other">Other</option>
</select>
</div>
<label name="Referral" style="display:none;">Referred By:</label>
<input name="Referral" style="display:none;" value="" class="hidden-txt">
當用戶選擇「轉診」它應該顯示的標籤和輸入命名爲「推薦」。如果我使用getElementByID,我有這個工作,給了選項兩個值用逗號分隔,並使用單獨的ID作爲標籤和輸入。
謝謝你的幫助。
'getElementsByName'返回的數組不是一個元素。 –
除了「ID」之外還有別的建議,因爲我需要顯示兩個表單元素? –