2010-06-22 2 views
0

У меня есть простая форма HTML, которая просит пользователя ввести свое имя, SKU, количество и комментарии. Это для простой системы запроса инвентаря.Расширение HTML-форм с использованием Javascript

<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

+0

Вы даже прочитали мой код? – cds5059

ответ

0

Ваше сообщение очень старое, поэтому предположительно вы нашли ответ. Тем не менее, есть некоторые проблемы с вашим кодом.

В коде JavaScript у вас есть

var num = 2; 

Это число, которое увеличивается на единицу, чтобы отслеживать, сколько «строки-элементы» вы будете иметь на форме. В функции addOption(), хотя, вместо приращения Num у вас есть

optionNumber++; 

Вы никогда не использовать optionNumber нигде. Ваш код работает один раз, когда вы добавляете первый элемент, но поскольку вы увеличиваете неверную переменную, вы фактически всегда добавляете опцию 2.

О, и добавив новую строку: вам нужно добавить элемент <br>.

Смежные вопросы