Javascript 表单中两个相互冲突的按钮

Javascript 表单中两个相互冲突的按钮,javascript,php,html,Javascript,Php,Html,所以我有一个,里面有一个元素 我还有两个按钮,addform用于调用append()函数。另一个按钮是是一个提交按钮,它会将我重定向到display.php 为什么每次单击添加表单,它都会将我重定向到display.php 函数append(){ var newInput=document.createElement(“输入”); setAttribute(“类型”、“编号”); document.getElementById(“活动div”).appendChild(newInput); }

所以我有一个
,里面有一个
元素

我还有两个按钮,
addform
用于调用
append()
函数。另一个按钮是
是一个提交按钮,它会将我重定向到display.php

为什么每次单击
添加表单
,它都会将我重定向到display.php

函数append(){
var newInput=document.createElement(“输入”);
setAttribute(“类型”、“编号”);
document.getElementById(“活动div”).appendChild(newInput);
}

选择一个数字:

添加表单

类型
属性us未定义时,它采用默认行为,即
提交
,因此提交
表单
,因此只需添加
类型=“按钮”


选择一个数字:


添加表单
您可以尝试将
类型
属性添加到按钮:

<button onclick="append()" type="button">Add Form</button>
在函数中:

append(e) {
  e.preventDefault();
  var newInput = document.createElement("INPUT");
  newInput.setAttribute("type", "number");
  document.getElementById("activity-div").appendChild(newInput);
}
更改为:

<input type="button" onclick="append()" value="Add Form" />
在append()函数中

function append(){
  e.preventDefault();
  // your code
}

在除旧版IE以外的所有浏览器中,表单标记内按钮的默认行为是提交。 若要更改,您应该明确地将按钮定义为type=“button”,或者您可以尝试阻止单击处理程序中的默认行为“e.preventDefault()”

函数append(){
var newInput=document.createElement(“输入”);
setAttribute(“类型”、“编号”);
document.getElementById(“活动div”).appendChild(newInput);
}

选择一个数字:

添加表单

您的代码很好,只需调用使用名称的函数,并添加type属性即可

这意味着在函数调用中,当您在按钮中使用此名称时,可以更改其名称

添加表单

function addActivity() {
  var newInput = document.createElement("INPUT");
  newInput.setAttribute("type", "number");
  document.getElementById("activity-div").appendChild(newInput);
}

这应该很好。

@ErlV谢谢你
e.preventDefault();
function append(){
  e.preventDefault();
  // your code
}
function addActivity() {
  var newInput = document.createElement("INPUT");
  newInput.setAttribute("type", "number");
  document.getElementById("activity-div").appendChild(newInput);
}