javascript - Ajax `appendTo` 替换现有元素

标签 javascript jquery html ajax

我正在尝试将一些表单数据提交到 Servlet使用JQuery并检索 Servlet来自同一个的回应 JQuery 。请看下面的代码。

<%-- 
    Document   : index
    Created on : Feb 23, 2015, 8:18:52 PM
    Author     : Yohan
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
   var form = $('#customItemForm');
  function formSubmit(){

 $.ajax({
     url:'SampleServlet',
     data: $("#customItemForm").serialize(),
     success: function (data) {
            $("#results").text(data);

            var $textbox = $('<input type=text>').appendTo($('<div>')).appendTo($('#results')); 
            $textbox.attr("id",data);

            //alert($textbox.attr("id"));
    }
});
}
</script>
    </head>
    <body>
        <form method="get" action="SampleServlet" id="customItemForm"  onsubmit="formSubmit(); return false;">
    Name <input type="text" name="name">
    <button>Submit</button>
</form>
        <br>
        <div id="results"></div>
    </body>
</html>

在上面的 JQuery 部分代码中,我试图读取从 servlet 获得的值,创建一个 Text Input在一个 DIV 中。我的期望是,如果我单击“提交”按钮两次,然后单击 2 个文本框;如果我点击提交按钮三次,然后点击 3 个文本框,依此类推。不幸的是,这并没有发生在这里。始终只出现一个文本框,替换前一个文本框。

我该如何解决这个问题?

最佳答案

$.ajax({
 url:'SampleServlet',
 data: $("#customItemForm").serialize(),
 success: function (data) {
        $("#results").text(data); //replace with $("#results").append(data)

        var $textbox = $('<input type=text>').appendTo($('<div>')).appendTo($('#results')); 
        $textbox.attr("id",data);

        //alert($textbox.attr("id"));
}
});
}

您需要进行上述更改,因为 .text() 会替换 div 中的现有数据(因此您之前的运行会被覆盖)

关于javascript - Ajax `appendTo` 替换现有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28681512/

相关文章:

javascript - 如何使用 idbKeyval 获取我的 IndexedDB val 的 key ?

javascript - 如何将 JSON 样式对象转换为 CSS 字符串?

javascript - 如何创建 localStorage 方法

javascript - HTA 和 Javascript 兼容性。 Javascript 在 HTA 中不起作用

html - 将图像放在表格的列中

javascript - 使用 Microsoft Office 365 API 在租户中创建用户并将其链接到 chrome Id

jquery - 如何调整 jQuery UI slider 的 z-index?

javascript - 使用 jQuery 获取 &lt;textarea&gt; 值未按预期工作

javascript - jQuery : append or replace automatic?

javascript - 在 AJAX 成功响应中执行 Javascript 代码(在单独的文件中)?