2010-06-22 7 views
0

J'ai un formulaire HTML simple qui demande à un utilisateur d'entrer son nom, SKU, la quantité et les commentaires. Ceci est pour un système de demande d'inventaire simple.Extension de formulaires HTML en utilisant 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> 

Actuellement, je peux seulement le faire fonctionner où il va ajouter une seule valeur de formulaire. Je voudrais recréer la totalité de myForm à l'exception du champ de nom en un seul clic.

+0

Je ne sais pas. Je n'ai rien trouvé en HTML qui me permettra de créer des formulaires supplémentaires à la demande comme ça. Pourriez-vous m'éclairer avec la version HTML de ce que je cherche à faire? – cds5059

+0

avez-vous lu mon code? – cds5059

Répondre

0

Votre message est très ancien, vous avez probablement déjà trouvé une réponse. Cependant, il y a certaines choses qui ne vont pas avec votre code.

Dans le code JavaScript vous avez

var num = 2; 

Ceci est le nombre qui est incrémenté de garder une trace de combien vous aurez « ligne-éléments » sur le formulaire. Dans la fonction addOption(), mais, au lieu de incrémenter num vous avez

optionNumber++; 

Vous n'utilisez optionNumber nulle part ailleurs. Votre code fonctionne une fois, lorsque vous ajoutez le premier élément, mais puisque vous incrémentez la mauvaise variable, vous ajoutez toujours l'option 2.

Oh, et en ajoutant la nouvelle ligne: vous devez ajouter un élément <br>.

Questions connexes