Java 输入标记赢得';不能正确使用jQueryAjax

Java 输入标记赢得';不能正确使用jQueryAjax,java,jquery,ajax,jsp,Java,Jquery,Ajax,Jsp,我编写了一个代码,当客户机在输入中键入某些内容时,它会将数据发送到jsp文件进行计算,如果数据等于“James”,它会说“Hello James”。问题是输入标签不会显示您的输入,只接受1个输入 jQuery w/ input <fieldset> <form style="padding:15px;"> <label for=name>Enter Name:</label> <input type="text" name="nam

我编写了一个代码,当客户机在输入中键入某些内容时,它会将数据发送到jsp文件进行计算,如果数据等于“James”,它会说“Hello James”。问题是输入标签不会显示您的输入,只接受1个输入

     jQuery w/ input
<fieldset>
<form style="padding:15px;">
<label for=name>Enter Name:</label>
<input type="text" name="name" id="name">
</form>
</fieldset>

<div id="result"></div>

<script>
$(document).ready(function() {
      $("input").keypress(function(event) {
        event.preventDefault(); 
        var name = $("#name").val();
        var send = {
          name: name 
        };

        $.ajax({
          type: "POST",
          url: "process2.jsp",
          data: send,
          success: function(data) {
            $("#result").html(data);
          }
        })
      });
    });


</script>
   -----------------------

    JSP FILE:
   <%

    String name = request.getParameter("name");

    if(name.equals("James")){
out.println("Hello James");
     } else {
out.println("Hello User");
    }

    %>
jQuery w/input
输入名称:
$(文档).ready(函数(){
$(“输入”)。按键(功能(事件){
event.preventDefault();
var name=$(“#name”).val();
变量发送={
姓名:姓名
};
$.ajax({
类型:“POST”,
url:“process2.jsp”,
数据:发送,
成功:功能(数据){
$(“#结果”).html(数据);
}
})
});
});
-----------------------
JSP文件:

代码的问题在于分配的名称变量不正确。而不是写作

        var name = $("#name").val();
你应该写

        var name = event.target.value; 

否则,您将按每一个按键重复一次相同的值,使得无法键入多于一个字符。

您也可能想考虑从代码中删除Engult.EnvultDebug()。你为什么要把它放在那里?默认的“防止”是以前的版本。但是无论如何,我的回答解决了你问题的原因了吗?如果是的话,请友好地将其标记为已接受的答案。否则让我知道!是的,我就是这么做的。stackoverflow新手,所以不知道存在这样的东西,
输入标签不会显示您的输入,只接受1个输入。
这意味着什么?你能详细说明一下吗?尝试使用
keyup
而不是
keypress
事件。这意味着输入文本框不会显示超过1个字符。我还将确保使用更多的keyup尝试将
$(“输入”).keypress(函数(事件)
更改为
$(“输入”).keyup(函数(事件)
并检查它是否工作。是的,它工作得很好:)