2013-03-02 106 views
0

這裏是我的代碼..JavaScript變量作爲HTML標籤

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

老:我想文本框的名稱作爲數組的,如姓名,出生日期等的值,但所有我得到是3具有相同名稱的文本框「myarray [i]」。請幫幫我。

好的,我們走吧,我對js很新。點擊按鈕後,它會創建3個文本框,但按鈕消失,我該怎麼做才能保持按鈕活動?

回答

5

嘗試在循環,而不是這一行:

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

工作的jsfiddle是here

+0

+1對於jsfiddle – 2013-03-02 09:20:41

+0

非常感謝你.. !! – MEP 2013-03-02 09:35:12

5

不能在字符串中插入JavaScript變量,並期望解釋器提取其值(像一些語言一樣,如PHP)。使用連接而不是建立自己的字符串:

"<input name='" + myArray[i] + "'/>" 
+0

謝謝你..但似乎,雙引號都搞亂了.. :( – MEP 2013-03-02 09:24:40

+0

@ user2122914我添加的每個屬性值圍繞單引號,以符合更嚴格的HTML規範,但在原則上,你可以刪除它們: ''input name =「+ myArray [i] +」/>「''另一種方法是交換單引號和雙引號:''''' – mgibsonbr 2013-03-02 09:32:14

0

你應該通過關於JavaScript的一些基本教程,嘗試http://www.codecademy.com/

下面的代碼,但你不應該與文件撰寫添加HTML,還有其他更好的方法來做到這一點。

var i, 
     myarray = ["name", "dob", "email"]; 

    for (i = 0, ilen = myarray.length; i < ilen; i++) { 
     document.write('<input name="' + myarray[i] + '"/>'); 
    } 
+0

非常感謝你.. !! – MEP 2013-03-02 09:36:53