2017-11-14 15 views
0

ボタンをクリックするたびにASPのcontrolIDを増やしたい。より多くの電話番号を追加する。新しいasp:textboxが追加されるたびに、新しいIDを作成する必要があります。 さらにdiv/textboxを追加しても問題ありませんが、各テキストボックスのIDは同じです。asp.net js controlIDを動的に増やす

function GetDynamicMobileNo(value) { 
 
     return '<div><asp:TextBox ID="txtAddMoreNumber" runat="server" CssClass="form-control" MaxLength="11" Placeholder="Mobile No"></asp:TextBox></div></br>'; 
 
    } 
 
    
 
    function AddMobileNo() {   
 
     var div = document.createElement('DIV'); 
 
     div.innerHTML = GetDynamicMobileNo(""); 
 
     document.getElementById("MobileNoContainer").appendChild(div); 
 
     
 
    }

誰でも助けることができますか?

+0

に変更し、それを:JavaScriptでを'。 htmlに追加されましたが、クライアント側でレンダリングされないため動作しません。 –

答えて

1

同じIdでhtmlを生成しているため、Idは同じです。

//Here is your problem 
function GetDynamicMobileNo(value) { 
     return '<div><asp:TextBox ID="txtAddMoreNumber" runat="server" CssClass="form-control" MaxLength="11" Placeholder="Mobile No"></asp:TextBox></div></br>'; 
    } 

    function AddMobileNo() {   
     var div = document.createElement('DIV'); 
     div.innerHTML = GetDynamicMobileNo(""); 
     document.getElementById("MobileNoContainer").appendChild(div); 

    } 

あなたは `のようなサーバー側のコントロールを追加することはできません。このコード

function GetDynamicMobileNo(value, id) { 
     return "<div><asp:TextBox ID=\" + id + \" runat=\"server\" CssClass=\"form-control\" MaxLength=\"11\" Placeholder=\"Mobile No\"></asp:TextBox></div></br>"; 
    } 

    function AddMobileNo() {   
     var div = document.createElement('DIV'); 
     div.innerHTML = GetDynamicMobileNo("", someRandomIdGenerator()); 
     document.getElementById("MobileNoContainer").appendChild(div); 

    } 
+0

私は同様の何かに答えようとしていました:p –

+0

@ TusharShukla確かにあなたはできます:) – Hey24sheep

+0

私はあなたが言ったように試みました。 「+ id + '」は有効な識別子ではありません。 –

関連する問題