我有兩個輸入複選框以及兩個文本字段:複選框如何通過javascript在html中觸發另一個輸入元素?
HTML:
<form action="">
<label for="male">Male</label>
<input onchange="genderCheck()" type="checkbox" checked="checked" name="sex" id="male" value="male"><br>
<label for="female">Female</label>
<input onchange="genderCheck()" type="checkbox" name="sex" id="female" value="female">
<span id="spanIban">
<br><label for="iban">IBAN:</label>
<input type="text" name="mIban" id="iban">
</span>
<span id="spanBust"><br><label for="bust">Bust:</label>
<input type="text" name="fBust" id="bust"></span>
</form>
我可見的第一個複選框默認選中,以及第一個文本字段:CSS
#spanBust{visibility:hidden;}
#spanIban{visibility:visible;}
我希望它做到以下幾點:當其中一些複選框被觸發/未觸發下面的textareas來做到這一點(通過可視性)。 的Javascript:
var check = document.getElementById("male").defaultChecked;
function genderCheck(){
if(document.getElementById("male").checked == true)
{
document.getElementById("spanIban").style.visibility="visible";
document.getElementById("spanbBust").style.visibility="hidden";
}
else if(document.getElementById("female").checked == true)
{
document.getElementById("spanIban").style.visibility="hidden";
document.getElementById("spanBust").style.visibility="visible";
}
else{ document.getElementById("spanIban").style.visibility="hidden"; document.getElementById("spanBust").style.visibility="hidden";}
}
我做錯了,而且不知道如何清理的東西或者說整個算法是錯誤的。
您應該將偵聽器附加到click事件,而不是更改。在IE中試試看看爲什麼(在複選框失去焦點之前它不會顯示更改事件)。 – RobG