Javascript 手风琴标题在单击时刷新页面

Javascript 手风琴标题在单击时刷新页面,javascript,jquery,html,Javascript,Jquery,Html,我实现了w3school的手风琴代码,并将其包装在一个表单中。当我试图运行它时,我点击了accordion标题,页面不断刷新。如何预防?下面是我基于w3school的代码 <form name="formone" method="post" action="file.php"> <button onclick="myFunction('Demo1')" class="w3-btn w3-block w3-black w3-left-align">Vehicle</b

我实现了w3school的手风琴代码,并将其包装在一个表单中。当我试图运行它时,我点击了accordion标题,页面不断刷新。如何预防?下面是我基于w3school的代码

<form name="formone" method="post" action="file.php">
<button onclick="myFunction('Demo1')" class="w3-btn w3-block w3-black w3-left-align">Vehicle</button>
<div id="Demo1" class="w3-container w3-hide">
  <input type="checkbox" name="vehicle" value="Bike"> Bike<br>
  <input type="checkbox" name="car" value="Car"> Car<br>
</div>
<button onclick="myFunction('Demo2')" class="w3-btn w3-block w3-black w3-left-align">Distance</button>
<div id="Demo2" class="w3-container w3-hide">
  <input type="checkbox" name="distance" value="m"> Metre<br>
  <input type="checkbox" name="distance" value="km"> KM<br>
</div>
<br>
<button type="submit" name="submit">Submit</button>
</form>

</div>

<script>
function myFunction(id) {
    var x = document.getElementById(id);
    if (x.className.indexOf("w3-show") == -1) {
        x.className += " w3-show";
    } else { 
        x.className = x.className.replace(" w3-show", "");
    }
}
</script>

车辆
自行车
汽车
距离 米
公里

提交 函数myFunction(id){ var x=document.getElementById(id); if(x.className.indexOf(“w3显示”)=-1){ x、 className+=“w3显示”; }否则{ x、 className=x.className.replace(“w3 show”,“w3 show”); } }

这是我的

您必须在按钮元素中给出
类型标记
,以指定它不是提交按钮

<button type="button">


您必须在按钮元素中指定
类型标记
,以指定它不是提交按钮

<button type="button">