使用javascript动态创建文本框

时间:2011-08-12 11:02:28

标签: javascript asp.net calendar

您好我正在尝试使用for循环动态创建文本框,并希望在所有这些文件中实现日历。我的代码如下:

for (var j = 1; j <= 5; j++) {

my_proj.innerHTML = my_proj.innerHTML +'<input type="text" name="txtStartDate" id="txtStartDate"+j runat="server" BackColor="#D6E4ED" BorderStyle="Inset" Width="10px" ></input>'
+'<a href="javascript:;" onclick="window.open(\'PopUp.aspx?textbox=txtStartDate+j\',\'cal\',\'width=250,height=225,left=270,top=180\')">'

}

因为我需要为所有文本框分别设置id,所以我试图用变量j连接它。但它不起作用并将错误指定为'Unknown identifier "startDate"+j"'。 请提出解决此问题的建议。任何其他想法来解决这个问题也是如此。顺便说一下,我正试图在.aspx页面中实现它。

提前致谢。

任何人都可以给我任何其他例子来实现相同的????请。

2 个答案:

答案 0 :(得分:3)

在将变量附加到字符串之前必须关闭字符串,以便将其识别为变量,而不仅仅是字母“j”。

所以。 。 。

var j = 10,
    str = "He is j years old";

。 。 。不行;你需要这样做:

var j = 10,
    str = "He is " + j + " years old";

您的代码应如下所示:

my_proj.innerHTML = my_proj.innerHTML +'<input type="text" namea="txtStartDate" id="txtStartDate' + j +'" runat="server" BackColor="#D6E4ED" BorderStyle="Inset" Width="10px" ></input>'
+'<a href="javascript:;" onclick="window.open(\'PopUp.aspx?textbox=txtStartDate' + j + '\',\'cal\',\'width=250,height=225,left=270,top=180\')">'

答案 1 :(得分:0)

您需要重新格式化字符串,使其具有正确的特殊字符表达式。双引号和单引号需要有一个反斜杠,以便从字面上理解字符。还有大量其他Javascript特殊字符:http://www.w3schools.com/js/js_special_characters.asp