2015-02-08 48 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>

相关问题