2016-11-30 74 views
0

我正在尝试向我的表单添加一些输入行,因此我将能够在一个请求中将它们发布到后端,并且还能够添加更多同样的信息类型如果需要的话 这是我使用的代码:创建输入元素并用js脚本填充它们

<!DOCTYPE html> 
<head> 
</head> 
<body> 
    <form action="#" method="post"> 
    <input id="firstElement" type="text" name="firstElement" value=""> 
    <button onClick="addRow()">add row</button><br> 
    <div id="container"></div> 
    <input type="submit" value="submit"> 
    </form> 

    <script> 
    function addRow() { 
     var container = document.getElementById("container"); 
     var myElement1 = document.getElementById("firstElement").value; 

     document.getElementById("firstElement").value = ""; 

     var i = 0; 

     var input1 = document.createElement("input"); 
     input1.type = "text"; 
     input1.name= "myElement1"+ i; 
     input1.disabled = "true"; 
     input1.value = myElement1; 
     container.appendChild(input1); 
     container.appendChild(document.createElement("br")); 
     i++; 
     } 
    </script> 
</body> 

这个代码显示了第二个或更少,然后什么...

回答

3

默认输出type的属性按钮元素是submit,所以当你点击按钮时,你实际上是在提交表单。变化,很容易通过指定type是一个button代替:

<button onClick="addRow()" type="button">add row</button> 

jsFiddle example

+0

另一种选择,而不是漂亮的,就是加'返回false;在'onClick'事件'。 – GAntoine