[英]How to Edit input type text field created from servlet
我已经从servlet创建了一个文本字段
out.println("<input type='text' class='userValue' />");
它正确显示在我的页面中。 但是,当我单击该字段时,它不允许我输入任何内容。 我的意思是通常您键入时会看到一个条闪烁。 此闪烁未显示。
它的行为就像不可编辑的文本字段(我正在使用jQuery ajax调用将其从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();
}
}
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;
}
});
});
});
});
可能是一遍又一遍地替换了响应
我添加了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;
}
});
});
现在工作正常
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.