2010-06-22 62 views
0

我有一個簡單的HTML表單,要求用戶輸入他們的名稱,SKU,數量和註釋。這是一個簡單的庫存請求系統。使用Javascript擴展HTML表單

<html> 
<body> 
<form id="myForm" method="post"> 
     <input type="submit"> 
     <br>Name: <input type="text" name="form[name]"> 
     <br>SKU: <input type="text" name="form[SKU1]"> 
     <br>Quantity: <input type="text" name="form[quantity1]"> 
    <br>Comment: <input type="text" name="form[comment1]"> 
</form> 
<a href="javascript:addOption();">Add item</a> 

<script> 
     var num = 2; //The first option to be added is number 2 
     function addOption() { 
       var theForm = document.getElementById("myForm"); 
       var newOption = document.createElement("input"); 
       newOption.name = "form[SKU"+num+"]"; // form[varX] 
       newOption.type = "text"; 
       theForm.appendChild(newOption); //How can I add a newline here? 
       optionNumber++; 
     } 
</script> 
</body> 
</html> 

目前我只能得到它的工作,它將添加一個表單值。我想通過一次單擊重新創建除名稱字段以外的整個myForm。

+0

我不知道。我只是沒有在HTML中找到任何可以讓我按照需求創建其他表單的東西。你能用我想要做的HTML版本來啓發我嗎? – cds5059 2010-06-22 18:30:40

+0

你甚至讀過我的代碼嗎? – cds5059 2010-06-22 18:37:48

回答

0

你的文章很舊,所以大概你現在已經找到了答案。然而,你的代碼有一些不妥之處。

在JavaScript代碼中你有

var num = 2; 

這是遞增的跟蹤有多少「行項目」,你將有窗體上的號碼。但是,在函數addOption()中,不是遞增num,而是您有

optionNumber++; 

您從不在其他地方使用optionNumber。當你添加第一個項目時,你的代碼工作一次,但是因爲你增加了錯誤的變量,所以你總是添加選項2.

哦,並添加換行符:你需要附加一個<br>元素。