单击按钮时不断导航到我的html目录[重复]

Posted

技术标签:

【中文标题】单击按钮时不断导航到我的html目录[重复]【英文标题】:Constantly getting navigated to my html directory on clicking a button [duplicate] 【发布时间】:2020-06-12 12:56:44 【问题描述】:

我正在尝试显示一个带有添加按钮的表单,单击它时应该切换显示属性。 但是每当我点击按钮时,我都会在控制台中导航到“链接地址”,所以我放置了一个 那里的console.log会被触发。我不明白我哪里出错了。 这是我的代码 sn-p:

function addForm()
    console.log("triggered");
   var x= document.getElementById("add-form");
   if(x.style.display === "none")
     x.style.display="grid";
   
   else
    x.style.display="none";
  
.form-box
 display: grid;
 grid-template-columns: repeat(20,50px);
 grid-template-rows: repeat(40,50px);
 width: 100%;


.heading
  font-size: 22px;
  font-weight: 600px;
  grid-row: 2/3;
  grid-column: 3/6;


.line
  height: 2px;
background: #F2F2F2 0% 0% no-repeat padding-box;
opacity: 1;
width: 100%;
opacity: 1;
grid-row: 3/4;
grid-column: 3/15;


.form
  grid-column: 3/12;
  grid-row:4/10;
  display: grid;
  grid-auto-rows: 50px;


.same-line
  display: flex;
 align-items: center;


.full
  flex:1;


.btn-add
  border: none;
  outline: none;
  background: none;
  cursor: pointer;


.btn-add:hover
  color: #F08520;



.add-form
  grid-row:12/16;
  display: none;


.btn-submit
  grid-row: 18/19;
  grid-column:10/12;
  display: flex;
  justify-content: center;

.btn-style
  border: none;
  outline: none;
  background: #F08520;
  width: 90px;
  border-radius: 7px;
  color: white;


.btn-style:hover
  color: aqua;


.select-input
  height: 35px;
  background: #FFFFFF 0% 0% no-repeat padding-box;
border: 1px solid #DDDDDD;
opacity: 1;
border-radius: 4px;
color: #AAAAAA;



.form-input
  height: 35px;
  background: #FFFFFF 0% 0% no-repeat padding-box;
 border: 1px solid #DDDDDD;
 opacity: 1;
 border-radius: 4px;
 
 .form-textarea
  height: 70px;
  background: #FFFFFF 0% 0% no-repeat padding-box;
 border: 1px solid #DDDDDD;
 opacity: 1;
 border-radius: 4px;
 resize: none;
 

.label
  font-size: 15px;
  color: #666;
  padding-top: 10px;
  font-family: 'Nunito Sans', sans-serif;
<div class="form-box">
  <p class="heading">Form Elements</p>
  <div class="line"></div>
  <form class="form">
    <label class="label">First Name</label>
    <input class="form-input" type="text" name="" id="">
    <label class="label">Last Name</label>
    <input class="form-input" type="text" name="" id="">
    <label class="label">Age</label>
    <input class="form-input" type="text" name="" id="">
    <div class="same-line">
    <label class="label full">Instances</label>
    <button class="btn-add" onclick="addForm()">add</button>
    </div>
    <label class="label">Address</label>
    <input class="form-input" type="text" name="" id="">
    <label class="label">Type</label>
    <select class="select-input" name="" id="">
      <option value="">Home</option>
      <option value="">office</option>
      <option value="">others</option>
    </select>
    <div id="add-form" class="add-form">
        <label class="label">Address2</label>
        <input class="form-input" type="text" name="" id="">
        <label class="label">Type</label>
        <select class="select-input" name="" id="">
          <option value="">Home</option>
          <option value="">office</option>
          <option value="">others</option>
        </select>
    </div>
    <label class="label">comments</label>
    <textarea class="form-textarea"></textarea>
  </form>
  <div class="btn-submit">
   <button class="btn-style">Submit</button>
  </div>
  <div id="new">

  </div>
  </div>

【问题讨论】:

控制台如下图所示 您的 console.log 也不应该被触发,除非您在某处告诉它执行此功能。如果它被触发,请确保添加一些阻止其默认行为的内容。喜欢return false; 你试过 event.preventDefault();在您的按钮上停止其默认行为? developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault 我在函数中放置一个控制台日志,并在控制台中获取该值 【参考方案1】:

表单中的按钮元素在点击时会自动提交表单。您需要将其类型设置为按钮。

<button class="btn-add" onclick="addForm()" type="button">add</button>

【讨论】:

请尽可能将问题标记为重复。这个问题之前已经回答过很多次了 @JuanMendes 你是对的。感谢您的建议。 感谢这已解决问题

以上是关于单击按钮时不断导航到我的html目录[重复]的主要内容,如果未能解决你的问题,请参考以下文章

选择html元素时如何添加类[重复]

单击切换器后,Bootstrap 4 导航未扩展 [重复]

使用html按钮执行sh文件单击[重复]

单击导航返回按钮时将调用啥方法-IOS?

单击按钮路由到下一页[重复]

使用 Flask 和 Jinja2 单击时无法加载模板 HTML [重复]