2015-02-08 43 views
-1

我想讓它如此,當一個按鈕被點擊時,div的內容被改變,但當前當我點擊按鈕,它需要兩次點擊纔會發生。該頁面似乎刷新後,1點擊看起來這裏有一些問題。函數toggleDisplay只顯示兩次點擊後

<script> 
 
    function toggleDisplay (toBlock, toNone) { 
 
     document.getElementById(toBlock).style.display = 'block'; 
 
     document.getElementById(toNone).style.display = 'none'; 
 
    } 
 
</script> 
 
    
 
<form method="get" id="1" onclick="toggleDisplay('OptIn', '1')" action="#"> 
 
    <h2>HEADLINE</h2> 
 
    <div> 
 
     <input type="submit" name="submit" value="Click To Change Content"> 
 
    </div> 
 
</form> 
 
     
 
<div id="OptIn" style="display:none;"> 
 
    <h2>HEADLINE</h2> 
 
    <div> 
 
     FORM HERE 
 
    </div> 
 
    <div>

+0

點擊提交輸入提交表格,不清楚你期待什麼這裏?! – 2015-02-08 12:23:21

+0

將代碼更改爲片段,沒有任何反應。任何想法這個代碼有什麼問題? – Jamie 2015-02-08 12:24:06

回答

0

嘗試

<form method="get" id="1" onclick="toggleDisplay('OptIn', '1'); return false;" action="#"> 

,我想你想關閉最後一個div標籤

0

是否有您使用的是形式和一個提交按鈕某種原因改變dom?如果沒有,下面會更適合您的需求。如果你需要的東西的形式,我們可能需要知道更多的幫助:

function toggleDisplay (toBlock, toNone) { 
 
document.getElementById(toBlock).style.display = 'block'; 
 
document.getElementById(toNone).style.display = 'none'; 
 
}
<div id="1" > 
 
<h2>HEADLINE</h2> 
 
<div> 
 
<input type="button" name="submit" value="Click To Change Content" onclick="toggleDisplay('OptIn', '1')"> 
 
</div> 
 
</div> 
 

 
<div id="OptIn" style="display:none;"> 
 
<h2>HEADLINE</h2> 
 
<div> 
 
FORM HERE 
 
</div> 
 
<div>

或者使用jQuery:

$(function() { 
 
    $('#btn').click(function(){ 
 
    $('.switch').toggle(); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="switch" > 
 
<h2>HEADLINE</h2> 
 
<div> 
 
<input type="button" name="submit" value="Click To Change Content" id="btn"> 
 
</div> 
 
</div> 
 

 
<div class="switch" style="display:none;"> 
 
<h2>HEADLINE</h2> 
 
<div> 
 
FORM HERE 
 
</div> 
 
<div>