2011-11-10 10 views
3

과 asp.net 텍스트 상자 컨트롤에 텍스트를 추가 나는 asp.net에 반환하는 초점으로웹 양식 내에서 jQuery를

<div id="search1"> 
     <div class="forminput"> 
      Label 1<br /> 
      <input type="text" name="Field1" value="" size="20" /> 
     </div> 
     <div class="forminput"> 
      Label 2<br /> 
      <input type="text" name="Field2" value="" size="20" /> 
     </div> 
</div> 

컨트롤에 손실되는 일부 입력 필드 값이 요구 사항을 입력 텍스트 상자 컨트롤. 나는 다음과 같은 코드를 사용하여 div 레이어 또는 표준 HTML 요소에 값을 전달 할 수 있었다 :

function fieldUpdate() { 

      var currentValue = $(this).val(); 
      var field = $(this).attr("name"); 

       if (currentValue != "") { 
        $("#results").append(field + ":" + currentValue + "+"); 
       } 
     } 
$(function() { 
      $("#search1 :input[type=text]").focusout(fieldUpdate); 

     }); 

그러나 이것이 asp.net 서버 측 컨트롤을 작동하지 않습니다. 업데이트 이 질문의 목적은 값이 ASP에 표준 HTML 입력 필드에 입력 제공하는 것입니다 : 텍스트 상자 컨트롤

<asp:TextBox ID="results2" Text="" Width="400" runat="server" /> 

업데이트 다음은 현재 솔루션의 작동 방법의 스크린 샷이다. 맨 위에는 사용자가 값을 입력 할 때 입력 필드가 표시되고 각 필드에서이 값이 결과로 표시된 Div 레이어에 추가됩니다. 내가 원하는 것은 DIV 요소에 fieldname과 value를 추가하는 대신 asp : textbox 컨트롤에 그 필드를 추가하기를 원합니다.

enter image description here

은 영문 페이지 내에서 대 외부 JS 파일에 저장이 코드를 가지고하는 것이 바람직하다.

누구든지이 작업을 수행하는 방법에 대한 제안을 제공 할 수 있습니까? 날이 비록 일을 돕는 제임스에 사전에

덕분에

업데이트 솔루션 감사합니다. 아래는 현재 구현에 사용 된 jQuery 코드입니다.

function fieldUpdate() { 

      var currentValue = $(this).val(); 
      var field = $(this).attr("name"); 
      var txt = $("#<%=results2.ClientID%>"); 
       if (currentValue != "") { 
        $("#results").append(field + ":" + currentValue + "+"); 
        if (txt) { 
         txt.val(txt.val() + field + ":" + $(this).val() + "+"); 
        } 
       } 
     } 


     $(function() { 
     //only evaluate input text field 
      $("#search1 :input[type=text]").focusout(fieldUpdate); 

이제 입력란 이름과 값으로 asp : textbox를 채울 수 있습니다. 예제 필드 1 : foo + Field2 : somevalue2 + Field3 : somevalue3 ...

+0

서버 쪽 컨트롤이 만드는 HTML을 추가 할 수 있습니까? – ManseUK

+0

정확히 무엇이 문제입니까? 입력 필드 밖으로 값을 가져 오거나 값을 ASP.NET 텍스트 상자 컨트롤로 설정합니까? 그것이 마지막 경우, 텍스트 상자 컨트롤은 어디에 있습니까? – Pbirkoff

+0

@Pbirkoff 내가 겪고있는 문제는 HTML 입력 필드의 값을 ASP : 텍스트 상자 컨트롤에 제공하는 기능이 필요하다는 것입니다. 나는 명확성을위한 질문을 새롭게했다 – rlcrews

답변

11

이들은 ASP.NET TextBox 컨트롤이 아닙니다. HTML 텍스트 입력입니다. 그래도 질문에 대답하려면 다음을 수행하십시오.

<script type="text/javascript"> 
    $(function(){ 
     $("#input1").val("Hello world"); 
    }); 
</script> 
<input type="text" id="input1" /> 

예에서 ID 대신 이름을 설정하는 것으로 나타났습니다. 선택 사항이 있으면 ID를 사용하지만 다음과 같이 요소를 찾을 수 있습니다.

$("input[name='Field1']").val("Hello world"); 

실제 ASP를 사용하는 경우.당신이 search1 DIV의 텍스트 입력을 모두 얻고 싶다면

<script type="text/javascript"> 
    $(function(){ 
     $("#<%=TextBox1.ClientID%>").val("Hello world"); 
    }); 
</script> 
<asp:TextBox ID="TextBox1" runat="server" /> 

, 당신은이 작업을 수행 할 수 있습니다 : NET TextBox 컨트롤은,이 솔루션은 약간 다를 수 있습니다

$(".forminput input[type='text']").val("Hello world!"); 

을 여기에 jsFiddle에 대한의 위의 예 : http://jsfiddle.net/DWYTR/

편집 귀하의 코멘트 당

는 여기 한 입력에서 다른 입력으로 값을 복사하는 방법 blur :

$(".forminput input[type='text']").blur(function(){ 
    var txt = $("#<%=TextBox1.ClientID%>"); 
    if (txt){ 
     txt.val(txt.val() + $(this).val()); 
    } 
}); 
+0

예, James가 맞습니다. 컨트롤은 asp.net 컨트롤을 프로비저닝해야하는 표준 HTML 입력 컨트롤입니다. 그래서 여러분은 입력에서 asp : textbox로 갈 것입니다. 죄송합니다 그 질문에 더 명확한 아니에요 – rlcrews

+0

나는 또한 가치와 필드 이름을 추가하려는대로 이름을 사용했습니다. 어떤 이유로 든 ID를 사용하여 제안했거나 개인적인 취향만을 제안했습니다. 고마워요. – rlcrews

+0

그것은 당신에게 달렸지 만, 대부분의 경우 ID가 표준입니다. –