如何在JSP/Servlet中实现点击按钮后为<input>文本框设置可提交预设值
解决方案
你可以通过两种方式实现预设值填充到输入框:
方法1:后端渲染时直接给input设置value属性(最稳妥)
你在拼接HTML响应时,直接给id为loan的输入框添加value属性,将loanPTwo的值填充进去即可,修改对应代码行:
原来的代码行:
<input type=text name=loan size=10 id=loan>
修改为:
+ " <input type=text name=loan size=10 id=loan value=\""+ (loanPTwo != null ? loanPTwo : "") +"\">\r\n"
注意:如果
loanPTwo可能包含双引号、尖括号等特殊字符,需要先做HTML转义,避免页面结构被破坏。
方法2:借助jQuery自动赋值
因为你的页面已经引入了jQuery,你可以在HTML的body标签末尾添加一段JS脚本,页面加载完成后自动给输入框赋值:
在你的HTML拼接代码中,</body>之前添加如下内容:
+ "<script>$(function() { $('#loan').val('"+ (loanPTwo != null ? loanPTwo.replace("'", "\\'") : "") +"'); });</script>\r\n"
注意:这里需要对
loanPTwo中的单引号做转义,避免JS语法报错。
额外优化建议
你当前代码中session.setAttribute("loan", loanPTwo);和request.setAttribute("loan", loanPTwo);两行写在writer.println(htmlResponse);之后,此时响应已经返回给前端,这两行设置不会生效,如果你没有其他地方用到这两个属性,可以直接删除,或者移到输出响应之前。
内容的提问来源于stack exchange,提问作者Aeryes
相关产品推荐
相关产品推荐

