2013-01-21 122 views
0

這是一個非常基本的腳本,但基本上即時通過單擊顯示div,然後在稍後單擊按鈕標題時隱藏div。我之前做過這件事,它的工作完美無瑕。我似乎不知道我做錯了什麼,或者做錯了什麼。就像我說的,第一click()顯示完美,第二hide()什麼都不做Javascript onclick事件顯示但不隱藏

JS:

function click1(){ 
    document.getElementById('form1').style.display='block'; 
} 

function hide1(){ 
    document.getElementById('form1').style.display='none'; 
} 

HTML:

<tbody> 
<tr> 
    <td style="cursor:pointer;" onclick="click1()"> 
    <div id="form1" style="display:none;"> 
    <form action="enter.php" method="post"> 
    <label for="entry1">Entry1</label> 
     <input type="text" id="entry1" name="entry1" size="15" /><br> 
    <label for="entry2">Entry2</label> 
     <input type="text" id="entry2" name="entry2" size="15"/><br> 
    <label for="entry3">Entry3</label> 
     <input type="text" id="entry3" name="entry3" size="15"/><br> 
     <input type="hidden" name="id" value="1" /><br> 
     <input type="hidden" name="table" value="table" /><br> 
     <input type="submit" value="GO!" /> 
     <input type="button" value="later" onClick="hide1()"/> 
    </form> 
    </div><sub>1</sub> 
    </td> 
</tr> 
</tbody> 

回答

2

的按鈕是td的孩子這麼兩個功能是在相同的點擊事件中被解僱。

一下添加到hide1()

function hide1(e){ 
    document.getElementById('form1').style.display='none'; 
    e.stopPropagation(); 
} 

這將阻止事件冒泡DOM和觸發該事件td

您還需要通過事件單擊處理程序:onClick="hide1(event)"

演示:http://jsfiddle.net/7PT8U/

+0

'函數CLICK1(){ 文件。 。的getElementById( 'form1中')的style.display = '塊'; (e){ } function hide1 e.stopPropagation(); }' 這是目前的樣子。並仍然沒有按鈕上的功能... – Nick

+0

也改變了onclick到'hide1(event)'好的嘗試,但沒有骰子 – Nick

+0

看到我的演示.... – AlienWebguy

0

你可以做這樣的事情

<tbody> 
<tr> 
    <td style="cursor:pointer;"> 
    <div id="form1" style="display:none;"> 
    <form action="enter.php" method="post"> 
    <label for="entry1">Entry1</label> 
     <input type="text" id="entry1" name="entry1" size="15" /><br> 
    <label for="entry2">Entry2</label> 
     <input type="text" id="entry2" name="entry2" size="15"/><br> 
    <label for="entry3">Entry3</label> 
     <input type="text" id="entry3" name="entry3" size="15"/><br> 
     <input type="hidden" name="id" value="1" /><br> 
     <input type="hidden" name="table" value="table" /><br> 
     <input type="submit" value="GO!" /> 
     <input type="button" value="later" onClick="hide1()"/> 
    </form> 
    </div><sub onclick="click1()">1</sub> 
    </td> 
</tr> 
</tbody>