2017-02-02 23 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は= ")(showHideを返す"' –

+1

それは動作しますが、あなたは何を期待したのですか?入力テキストを表示/非表示にするには、 'class =" hidden "を使わずに' style = "display:block"を表示する必要はありませんが、またはスタイルを変更します。 – Alessandro

+0

@SorangwalaAbbasaliそれは絶対に何も変わらないでしょう。 – JJJ

答えて

0

あなたは=「隠された」クラスを使用して要素を隠し、あなたが表示=「ブロック」でそれらを表示してみてください。 display = "none"で非表示にし、display = "block"で表示 またはclass = "hidden"で非表示にし、javascriptのremove関数で削除クラス "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 to you man – Hassam

関連する問題