2017-02-02 178 views
-4

onclick事件不起作用。雖然我點擊複選框,但沒有出現。 這裏是我的代碼:onClick事件不起作用

function showHide() 
 
{ 
 
    var checkbox1=document.getElementById("iconbox"); 
 
    var hiddeninputs=document.getElementsByClassName("hidden"); 
 
    for (var i=0;i!=hiddeninputs.length;i++){ 
 
     if(checkbox1.checked){ 
 
      hiddeninputs[i].style.display="block";   
 
     } 
 
    } 
 
}
.hidden { 
 
    display: none; 
 
}
<form action="#" name="form1"> 
 
     <input type="checkbox" name="iconbox" id="iconbox"onclick="showHide()"/> 
 
     <label for="iconbox">Manage your header</label> 
 
     <input type="text" name="icon1" id="icon1" class="hidden"> 
 
     <input type="text" name="icon2" id="icon2" class="hidden"> 
 
</form>

+0

寫:'的onClick = 「返回顯示隱藏()」' –

+1

它的工作原理,有什麼辦法?如果你想隱藏/顯示輸入文本,你不必使用'class =「hidden」'來隱藏和'style =「display:block」'來顯示,但是你必須決定:使用add/remove class或改變風格。 – Alessandro

+0

@SorangwalaAbbasali這絕對沒有什麼改變。 – JJJ

回答

0

躲帶class =「隱藏」的元素,並嘗試與顯示器=「塊」來顯示它們。 您應該使用display =「none」來隱藏並使用display =「block」來顯示 或隱藏class =「hidden」並使用javascript的remove函數顯示remove class「hidden」。

0

這是你期待的嗎?

function showHide() { 
 
    var checked = document.getElementById("iconbox").checked; 
 
    var hiddeninputs = document.getElementsByClassName("hidden"); 
 
    for (var i = 0; i != hiddeninputs.length; i++) 
 
    hiddeninputs[i].style.display = (checked) ? "block" : "none"; 
 
}
.hidden { 
 
    display: none; 
 
}
<form action="#" name="form1"> 
 
    <input type="checkbox" name="iconbox" id="iconbox" onclick="showHide()" /> 
 
    <label for="iconbox">Manage your header</label> 
 
    <input type="text" name="icon1" id="icon1" class="hidden"> 
 
    <input type="text" name="icon2" id="icon2" class="hidden"> 
 
</form>

+0

yup.thanks給你的人 – Hassam