2017-11-14 4 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

//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); } 

변경을 당신은'같은 서버 측 컨트롤에 추가 할 수 없습니다 '자바 스크립트입니다. html에 추가되었지만 클라이언트 측에서 렌더링되지 않기 때문에 작동하지 않습니다. –

답변

1

동일한 ID로 html을 생성 중이므로 동일한 ID입니다. 이 코드

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 +'"는 유효한 식별자가 아닙니다. –