2011-04-27 4 views
0

작업의 값을 하드 코드하면 다음 코드가 작동합니다. 현실 세계에서는 그다지 유용하지 않으므로 텍스트 상자의 가치를 전달하고 싶습니다. 불행히도, 나는 텍스트 문자열의 값을 얻을 수 없다. id = "txtTask"는 쿼리 문자열에 전달된다. 하드 코딩 된 값은 전달되지만 맨 위의 inputData 할당을 주석 처리하고 실행하면 쿼리 문자열이 null입니다.

제안 사항? 감사! 이것이 내가 텍스트 상자에 ClientIDMode = "정적"을 사용하거나 클래스를 정의하고 클래스를 사용하는 것이 asp.net 웹 양식이 나타납니다 때문에

function btnAddTask_onclick() { 
        //var inputData = { task: $("#txtTask").val() }; 
        var inputData = { task: "hard-coded test data"}; 

        $.ajax({ 
         "url": "AddTask.aspx", 
         "type": "get", 
         "data": inputData, 
         "success": function (response) { 
          alert(response); 
          $("body").append(response); 

         }, 
         "error": function (response) { 
          alert("Error: " + response); 
         } 
        }) 
       } 

그리고 여기가

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2> 
     To-Do List 
    </h2> 
    <p> 
     <asp:TextBox ID="txtTask" runat="server"></asp:TextBox> 
     <input id="btnAddTask" type="button" value="button" onclick="btnAddTask_onclick()" /> 
    </p> 
    <div id="tasks"></div> 
</asp:Content> 

답변

0

... 마크 업입니다 선택자로. 내 생각 엔 asp.net webforms id 할당 때문에 텍스트 상자를 올바르게 선택하지 않는 것입니다.

<asp:TextBox ID="txtTask" runat="server" ClientIDMode="Static"></asp:TextBox> 

당신이 다음 텍스트 상자에 CSS 클래스를 추가하고 'ClientIDMode'로 클래스 이름을 참조해야합니다 .NET 4.0을 사용하지 않는 경우는 4.0 기능입니다.

<asp:TextBox ID="txtTask" runat="server" CssClass="myTaskClass"></asp:TextBox> 

var inputData = { task: $(".myTaskClass").val() }; 
+0

실망 스럽다. 나는 웹 개발에 새로운 것이고 나는 이것을 알고 있었다. 나는 CssClass 태그를 추가하려했지만 그것을하는 것을 완전히 잊었다. 당신의 도움을 주셔서 감사합니다... – DenaliHardtail

관련 문제