Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何限制非提交按钮点击表单后重新加载页面?_Javascript_Html_Forms - Fatal编程技术网

Javascript 如何限制非提交按钮点击表单后重新加载页面?

Javascript 如何限制非提交按钮点击表单后重新加载页面?,javascript,html,forms,Javascript,Html,Forms,我试图在HTML表单上创建一个按钮,向表单中添加元素: 函数createRow(){ var行=document.createElement('div'); var input=document.createElement('input'); input.setAttribute(“类型”、“文本框”); var time=document.createElement('input'); setAttribute(“类型”、“文本框”); 行。追加子项(输入); 行。追加子行(时间); 返回行

我试图在HTML表单上创建一个按钮,向表单中添加元素:

函数createRow(){
var行=document.createElement('div');
var input=document.createElement('input');
input.setAttribute(“类型”、“文本框”);
var time=document.createElement('input');
setAttribute(“类型”、“文本框”);
行。追加子项(输入);
行。追加子行(时间);
返回行;
}
函数addRow(){
控制台日志(“z”);
var routes=document.getElementById(“routes”);
appendChild(createRow());
返回false;
}

+

提交的默认行为为
按钮
。指定
type=按钮
,它将覆盖此默认行为


+

单击
onclick
函数应
返回false
。另外,
addRow()
需要
返回false

<form id="routes">
   <button onclick="return addRow()">+</button>
</form>

+

好的,这里有一个在事件侦听器上使用preventDefault的示例

函数createRow(){
var行=document.createElement('div');
var input=document.createElement('input');
var time=document.createElement('input');
input.setAttribute(“类型”、“文本框”);
setAttribute(“类型”、“文本框”);
行。追加子项(输入);
行。追加子行(时间);
返回行;
}
函数addRow(){
document.getElementById(“routes”).appendChild(createRow());
}
document.querySelector(“按钮”).addEventListener(“单击”),函数(事件)
{
event.preventDefault();
addRow();
});

+

在表单内部,HTML5按钮元素的默认类型为submit。如果你给它一种“按钮”,一切都很好

<!DOCTYPE html>
<html>
 <head>
 </head>
 <body>
 <form id="routes">
     <div><button type="button" onclick="addRow()">+</button></div>
 </form>
 <script type="text/javascript">
     function createRow(){
         var row = document.createElement('div');
         var input=document.createElement('input');
         input.setAttribute("type", "Textbox");
         var time=document.createElement('input');
         time.setAttribute("type", "Textbox");
         row.appendChild(input);
         row.appendChild(time);
         console.log(row);
         return row;
     }
     function addRow(){
         console.log("z");
         var routes = document.getElementById("routes");
         routes.appendChild(createRow());
         return false;
     }
 </script>
 </body>
 </html>

+
函数createRow(){
var行=document.createElement('div');
var input=document.createElement('input');
input.setAttribute(“类型”、“文本框”);
var time=document.createElement('input');
setAttribute(“类型”、“文本框”);
行。追加子项(输入);
行。追加子行(时间);
控制台日志(行);
返回行;
}
函数addRow(){
控制台日志(“z”);
var routes=document.getElementById(“routes”);
appendChild(createRow());
返回false;
}

给按钮一个
id
并将
preventDefault
放入
$(文档)中。就绪(..)
功能

$(文档).ready(函数(){
$(“#路由按钮”)。单击(函数(事件){
event.preventDefault();
});
});
函数createRow(){
var行=document.createElement('div');
var input=document.createElement('input');
input.setAttribute(“类型”、“文本框”);
var time=document.createElement('input');
setAttribute(“类型”、“文本框”);
行。追加子项(输入);
行。追加子行(时间);
返回行;
}
函数addRow(){
控制台日志(“z”);
var routes=document.getElementById(“routes”);
appendChild(createRow());
返回false;
}

+