2011-08-12 15 views
0

こんにちは私は、forループを使用して動的にテキストボックスを作成しようとしており、それらのすべてにカレンダーを実装したいと考えています。次のように私のコードは次のとおりです。JavaScriptを使用した動的テキストボックスの作成

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\')">' 

} 

私は、私はそれで変数jをCONCATしようとしたすべてのテキストボックスに別々のIDを持っている必要があります。しかし、それが動作していないとエラーを与える'Unknown identifier "startDate"+j"'。 これを解決するために何か提案してください。これを解決する他のアイデアもあります。私は.aspxページ内で実装しようとしています。

ありがとうございます。

誰も私に同じものを実装するための他の例を教えていただけますか?お願いします。

答えて

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\')">' 
+0

私はそれを試みましたが、それでもなおエラーを出しました。 – champ

+0

何がエラーですか? –

0

あなたはそれが正しいの特殊文字式を持つように、あなたの文字列を再フォーマットする必要があります。二重引用符と一重引用符は文字が文字通り取れるようにバックスラッシュを付ける必要があります。他にも多くのJavascriptの特殊文字があります:http://www.w3schools.com/js/js_special_characters.asp

関連する問題