2016-11-30 72 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