最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - Create unique name for <input> in form - Stack Overflow

matteradmin6PV0评论

Okay, first thing, I had a lot of trouble thinking of a title for this, and also of what to search for in Google. So that may just be me being stupid, but here is what I would like you help with.

I have a form, that has a button that will add additional input fields, but I would like the the name of the field to iterate everytime the button is pressed. E.g. the first time it will be:

<input type="textfield" name="field1" value=""/>

Then the second time it is pressed, it will be:

<input type="textfield" name="field2" value=""/>

I also have a small example of what I currently have here: /

Please let me know if you can help me, or if you require more info thanks :)

Okay, first thing, I had a lot of trouble thinking of a title for this, and also of what to search for in Google. So that may just be me being stupid, but here is what I would like you help with.

I have a form, that has a button that will add additional input fields, but I would like the the name of the field to iterate everytime the button is pressed. E.g. the first time it will be:

<input type="textfield" name="field1" value=""/>

Then the second time it is pressed, it will be:

<input type="textfield" name="field2" value=""/>

I also have a small example of what I currently have here: http://jsfiddle/5gh75/14/

Please let me know if you can help me, or if you require more info thanks :)

Share Improve this question asked Apr 10, 2013 at 21:15 MelloorrMelloorr 555 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 6

The best way to handle this is to name them all field[].

When handled by the server-side code, it will build an array for you. For instance, in PHP you would get $_POST['field'][0], $_POST['field'][1] and so on.

For your example:

JQuery

var i=0;
$('span.add').click(function () {
    $('<input>').attr({
        type: 'textfield',
        name: 'program'+i
    }).appendTo('#addsoftware');
    i++;
});

JSFiddle.

But @Kolink-s answer is much better.

Edit: I just saw the previous posts after sending this. Using an array would definitely be better, and JQuery is always nice :).

Just use some javascript:

<HTML>
<HEAD>
<TITLE>Dynamically add Textbox, Radio, Button in html Form using JavaScript</TITLE>
<SCRIPT language="javascript">
idx = 0;
function add() {
     //Create an input type dynamically.
     var element = document.createElement("input");

     //Assign different attributes to the element.
     element.setAttribute("type", "textfield");
     element.setAttribute("name", "field" . idx);
     element.setAttribute("value", "");

     idx++;

     var foo = document.getElementById("fooBar");

     //Append the element in page (in span).
     foo.appendChild(element);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<H2>Dynamically add element in form.</H2>
Select the element and hit Add to add it in form.
<BR/>
<INPUT type="button" value="Add" onclick="add()"/>

<span id="fooBar">&nbsp;</span>

</FORM>
</BODY>
</HTML>

I took this example from: Add more text fields dynamically in new line (html)

Post a comment

comment list (0)

  1. No comments so far