使用Ajax响应更新文本框

时间:2012-08-23 05:37:51

标签: java javascript ajax jsp

我只想用ajax调用的响应来更新文本框。我收到了回复,并使用

将其分配到文本框
document.getElementById("testPad").value = xmlHttpRequest.responseText;

它会更新整个响应文本,恰好是整个HTML页面。

在我发送响应的服务器操作上:

response.setContentType("text/plain");
response.getWriter().write(output);

虽然这听起来微不足道,但我正面临着这样的时间,请各位帮忙。 TIA。

4 个答案:

答案 0 :(得分:0)

尝试刷新/关闭流。

response.setContentType("text/plain");
response.getWriter().write(output);
response.getWriter().close();

我建议jQuery.ajax()。下载jQuery.js或只使用CDN网址。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        $("#btnSubmit").click(function () {
            $.ajax({
                url: "serverAction",
                success: function (data) {
                    $("#resultText").val(data);
                },
                error: function (xhr, status, errorDesc) {
                    alert(errorDesc);
                }
            });
        });
    });
</script>

<div>
  <input type="text" id="resultText" />
  <input type="button" id="btnSubmit" value="Show" />
</div>

答案 1 :(得分:0)

假设您单击按钮上的文本框和按钮,则必须更新文本框

 <input id="txtClicked" type="text" runat="server" />
 <input id="buttClicked" type="button" runat="server" />

  $("#buttClicked").click(function(){
  $.ajax({
  type: "POST",
  url: "Dashboard.aspx/GetTreeNodesByText", // that's your server side page and the function
  data: "{}",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function (data) {
  $("#txtClicked").val(data.d); //data.d is the response from the server
  }
  });
   });

答案 2 :(得分:0)

您需要将responseText字符串解析为HTML DOM,您可以从中轻松检索所需的信息。

此链接可以帮助您入门:

https://developer.mozilla.org/en-US/docs/Code_snippets/HTML_to_DOM?redirectlocale=en-US&redirectslug=Code_snippets%3AHTML_to_DOM

答案 3 :(得分:0)

我通过设置标题属性

来实现它
response.setHeader("Cache-Control", "no-cache");

这是一次反复试验仍然不知道它运作的确切原因。

感谢所有投入的人。