Java 如何编辑从servlet创建的输入类型文本字段

Java 如何编辑从servlet创建的输入类型文本字段,java,jquery,html,jakarta-ee,servlets,Java,Jquery,Html,Jakarta Ee,Servlets,我已经从servlet创建了一个文本字段 out.println("<input type='text' class='userValue' />"); out.println(“”); 它正确地显示在我的页面中。但当我点击该字段时,它不允许我键入任何内容。 我的意思是当你打字的时候,你通常会看到一个条在闪烁。此闪烁不显示 它的行为类似于不可编辑的文本字段(我使用jQueryAjax调用将其从servlet放到我的页面) 如何解决这个问题 完整代码 protected void

我已经从servlet创建了一个文本字段

out.println("<input type='text' class='userValue' />");
out.println(“”);
它正确地显示在我的页面中。但当我点击该字段时,它不允许我键入任何内容。 我的意思是当你打字的时候,你通常会看到一个条在闪烁。此闪烁不显示

它的行为类似于不可编辑的文本字段(我使用jQueryAjax调用将其从servlet放到我的页面)

如何解决这个问题

完整代码

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");

        String noOfNodeSt = request.getParameter("numberOfNodes");
        String action = request.getParameter("action");

        PrintWriter out = response.getWriter();
        try {

            if (action.compareTo("actionOnSelectedNode") == 0) {
                int numOfSelectedNodeReceived = Integer.parseInt(request.getParameter("numberOfNodes").toString());

                for (int i = 0; i < numOfSelectedNodeReceived; i++) {
                    out.println("<select class='nodeFromDB"+i+"'>");
                    out.println("<option>Servlet Action1</option>");
                    out.println("<option>Servlet Action2</option>");
                    out.println("</select>");
                    out.println("<input type=\"text\" name=\"userValue\" />");

                }    
            }
        } finally {
            out.close();
        }
    }
protectedvoidprocessrequest(HttpServletRequest请求,HttpServletResponse响应)
抛出ServletException、IOException{
setContentType(“text/html;charset=UTF-8”);
字符串noOfNodeSt=request.getParameter(“numberOfNodes”);
String action=request.getParameter(“action”);
PrintWriter out=response.getWriter();
试一试{
if(action.compareTo(“actionSelectedNode”)==0{
int numOfSelectedNodeReceived=Integer.parseInt(request.getParameter(“numberOfNodes”).toString();
for(int i=0;i
JS代码

$(function() {

    $('#nodeType').bind('change', function(ev) {

        var value = $(this).val();
        if (value === 'Single Node') {
            //alert("g");
            document.getElementById("spanSetNoOfNodes").innerHTML = "<input type='text' value='1' class='textBoxNoOfNode' readonly/><input type='button' value='Generate' onclick='tfc();' class='generateButtonAction' id='generateButtonAction'/>";

        } else if (value === 'Multiple Nodes') {
            //alert("g");
            document.getElementById("spanSetNoOfNodes").innerHTML = "<input type='text' value='1' class='textBoxNoOfNode'/><input type='button' value='Generate' onclick='tfc();' class='generateButtonAction' id='generateButtonAction'/>";

        }

         $(document.body).on('click', 'input', function() {
         //alert($('.textBoxNoOfNode').val());
         $.ajax({
         url: 'http://localhost:8080/M08CDECUStructuralOptimiser/Interface1?action=actionOnSelectedNode',
         data: {numberOfNodes: $('.textBoxNoOfNode').val()},
         success: function(response) {
         //$('.upItemName').append(response);
         document.getElementById("test3").innerHTML = response;
         }
         });
         });




    });


});
$(函数(){
$('#nodeType').bind('change',function(ev){
var值=$(this.val();
如果(值=='单节点'){
//警报(“g”);
document.getElementById(“spanSetNoOfNodes”).innerHTML=“”;
}else if(值===‘多个节点’){
//警报(“g”);
document.getElementById(“spanSetNoOfNodes”).innerHTML=“”;
}
$(document.body)。在('click','input',function()上{
//警报($('.textBoxNoOfNode').val());
$.ajax({
网址:'http://localhost:8080/M08CDECUStructuralOptimiser/Interface1?action=actionOnSelectedNode',
数据:{numberOfNodes:$('.textBoxNoOfNode').val()},
成功:功能(响应){
//$('.upItemName')。追加(响应);
document.getElementById(“test3”).innerHTML=response;
}
});
});
});
});

它可能一次又一次地替换响应

我添加了onclick='tfc();并在其中移动了以下部分

     $(document.body).on('click', 'input', function() {
     //alert($('.textBoxNoOfNode').val());
     $.ajax({
     url: 'http://localhost:8080/M08CDECUStructuralOptimiser/Interface1?action=actionOnSelectedNode',
     data: {numberOfNodes: $('.textBoxNoOfNode').val()},
     success: function(response) {
     //$('.upItemName').append(response);
     document.getElementById("test3").innerHTML = response;
     }
     });
     });

现在工作正常了

发布完整的servlet
do()
代码。尝试添加表单标记仍然存在相同的问题您是否使用ajax从servlet获取html并将其放在其他html页面中?如果是这样的话,你能显示在html中的什么地方吗?JS代码添加了请检查完整的代码