Отображение значения Texbox с использованием Jquery - PullRequest
1 голос
/ 18 марта 2012

У меня есть Asp.Net Webform с текстовым полем. Я пытаюсь отобразить значение управляющего значения сервера текстового поля в текстовой области, встроенной с некоторым текстом при нажатии кнопки. Я не уверен, что если серверный элемент управления запущен при проблеме сервера или после обратной проблемы, значение текстового поля не заполняется в текстовой области. Любая помощь будет высоко оценен. Заранее спасибо.

 <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#Button2').click(function () {
                $('#test').show();
                return false;
            });
        });

    </script>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button2" runat="server" Text="Go" />



        <span id="test" style="display: none">
            <textarea id="showTextarea">
    This is new <%=TextBox1.Text %> from web form server control.
    </textarea>
        </span>
    </div>
    </form>
</body>
</html>

Ответы [ 3 ]

2 голосов
/ 18 марта 2012

Это не проблема обратной передачи. jQuery / javascript обрабатывает щелчок, и когда он возвращает false, это означает, что не отправлять обратно.

Клиентская сторона

Если вы хотите отобразить значение из текстового поля, ничего не делая с ним на сервере, то вам просто нужно получить ответ и вернуть false (или вы можете добавить событие в функцию function(e) {, а затем сделать e.preventDefault();)

  $("#Button2").click(function () {
    $("#showTextarea").val("This is new " + $("#TextBox1").val() + " from web form server control");
    $("#test").show();
    return false;
  });

Серверная сторона

Если вы хотите обрабатывать данные на стороне сервера, вы должны добавить многострочное текстовое поле на страницу aspx и установить для него значение Visible="False" по умолчанию:

<asp:TextBox ID="showTextarea" runat="server" TextMode="MultiLine" Visible="False"></asp:TextBox>

А затем следующее в коде:

protected void Button2_Click(object sender, EventArgs e)
{
    showTextarea.Visible = true;
    showTextarea.Text = "This is new " + TextBox1.Text + " from web form server control.";
}
2 голосов
/ 18 марта 2012

Используя jQuery,

   $(function() {
        $('#Button2').click(function () {
            $('#showTextarea').val($("#TextBox1").val());
            return false;
        });
    });

Этот код будет работать, если ваш TextBox имеет идентификатор TextBox1 , а текстовая область имеет идентификатор showTextarea и вашу кнопку имеет идентификатор Button2

В веб-формах ASP.NET. Если ваши элементы управления находятся в других элементах управления ASP.NET (например, панелях и т. Д.), Идентификаторы будут не совсем такими.вам может понадобиться проверить ViewSource, чтобы убедиться в этом.

1 голос
/ 18 марта 2012
    <script type="text/javascript">
    $(document).ready(function () {
        $('#Button2').click(function () {
            $('#showTextarea').val('This is new' + $('#TextBox1').val() + ' from web form server control');
            $('#test').show();
            return false;
        });
    });

</script>

<textarea id="showTextarea">

</textarea>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...