Reputation: 17
Here is my code..
<!DOCTYPE html>
<html>
<script>
function genbox()
{
var i;
var myarray = new Array();
myarray[0] = "name";
myarray[1] = "dob";
myarray[2] = "email";
for (i=0;i<myarray.length;i++)
{
document.write('<input name="' + myarray[i] + '"/>');
}
}
</script>
<body>
<input type="button" value="create" onclick="genbox();">
</body>
</html>
Old:I want the textbox name as the values of the array such as name, dob etc. but all i'm getting is 3 textboxes with the same name "myarray[i]". Please help me.
Okay, Here we go, I'm pretty new to js. After clicking the button it creates 3 textboxes, but, the button disappears, What should I do to keep the button alive???
Upvotes: 0
Views: 4896
Reputation: 3445
You should go through some basic tutorials about javascript, try http://www.codecademy.com/
Here's the code, however you shouldn't add html with document.write, there are other, better methods to do it.
var i,
myarray = ["name", "dob", "email"];
for (i = 0, ilen = myarray.length; i < ilen; i++) {
document.write('<input name="' + myarray[i] + '"/>');
}
Upvotes: 0
Reputation: 2595
try this line in the loop instead:
document.write('<input name="' + myarray[i] + '"/>');
Working jsfiddle is here.
Upvotes: 5
Reputation: 22007
You can't insert JavaScript variables inside a string and expect the interpreter to extract its value (as some languages do, like PHP). Build your string using concatenation instead:
"<input name='" + myArray[i] + "'/>"
Upvotes: 5