Как передать значение текстового поля в этот вызов $ .ajax ()? - PullRequest
0 голосов
/ 27 апреля 2011

Следующий код работает, если я жестко задаю значение для задачи. Это не очень полезно в реальном мире, поэтому я хотел бы передать значение текстового поля. К сожалению, я не могу получить значение текстового поля с id = "txtTask", переданного в строку запроса. Жестко закодированное значение передается, но когда я раскомментирую верхнее назначение inputData и запускаю его, строка запроса равна нулю.

Есть предложения? Спасибо!

   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>

1 Ответ

0 голосов
/ 27 апреля 2011

Так как это выглядит как веб-форма asp.net, я бы использовал ClientIDMode = "static" в текстовом поле или просто определил класс и использовал класс в качестве селектора.Полагаю, вы не правильно выбираете текстовое поле из-за присвоения идентификаторов веб-форм asp.net.

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

Если вы не используете .net 4.0, вам нужно добавить класс CSS в текстовое поле.и ссылаться на него по имени класса, так как «ClientIDMode» является функцией 4.0.

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

var inputData = { task: $(".myTaskClass").val() };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...