0

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???

3 Answers 3

5

try this line in the loop instead:

document.write('<input name="' + myarray[i] + '"/>');

Working jsfiddle is here.

Sign up to request clarification or add additional context in comments.

Comments

5

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] + "'/>"

2 Comments

thank you .. but it seems, the double quotes are messing up .. :(
@user2122914 I added single quotes around each attribute value to conform to stricter HTML specifications, but in principle you can remove them: "<input name=" + myArray[i] + "/>". An alternative would be to swap single and double quotes: '<input name="' + myArray[i] + '"/>'
0

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] + '"/>');
    }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.