[英]Radio button Selection after submitting form in jsp/servlet
我正在使用單選按鈕提交表單。 我希望提交表單后選中該單選按鈕。 基本上我正在頁面上進行一些搜索過程。 請檢查代碼。
在我的jsp上。
<%@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>
</head>
<body>
<%
String buttonvalue = (String) request.getParameter("radio");
%>
<%= buttonvalue %>
<form method="post" action="SearchServlet">
<script type='text/javascript'>
var button = "<%= buttonvalue %>";
if(button == "one")
{
alert("1");
document.getElementById("rdone").checked = true;
document.getElementById("rdtwo").checked = false;
document.getElementById("rdthree").checked = false;
}
else if(button == "two")
{
document.getElementById("rdone").checked = false;
document.getElementById("rdtwo").checked = true;
document.getElementById("rdthree").checked = false;
}
else if(button == "three")
{
alert("3");
document.getElementById("rdone").checked = false;
document.getElementById("rdtwo").checked = false;
document.getElementById("rdthree").checked = true;
alert("2");
}
else
{
alert("4");
}
</script>
<input id="rdone" type="radio" name="radio" value="one"/>
<input id="rdtwo" type="radio" name="radio" value="two"/>
<input id="rdthree" type="radio" name="radio" value="three"/>
<input type="submit" value="Submit"/>
</form>
</body>
</html>
並在Servlet中。
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try
{
System.out.println(request.getParameter("radio"));
RequestDispatcher dispatcher = request.getRequestDispatcher("/radiobutton.jsp");
System.out.println("--------------"+request.getParameter("radio"));
dispatcher.forward(request, response);
}
finally
{
out.close();
}
}
一切正常。 但我收到Java腳本錯誤。 請檢查以下屏幕截圖。 由於這個Java腳本,我沒有得到確切的輸出。
您的腳本出現在單選按鈕之前,並且不包含延遲到以后的功能。
您試圖在按鈕存在之前對其進行修改。
將腳本移動到HTML源代碼中的按鈕之后。
我想建議您,當提交JSP頁面時,可以使用以下代碼在servlet上進行處理:
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try
{
System.out.println(request.getParameter("radio"));
if(request.getParameter("radio")!= "" || request.getParameter("radio")!=null){
request.setAttribute("radio");
}
RequestDispatcher dispatcher = request.getRequestDispatcher("/radiobutton.jsp");
System.out.println("--------------"+request.getParameter("radio"));
dispatcher.forward(request, response);
}
finally
{
out.close();
}
}
現在在您的JSP文件中添加以下行:
<input id="rdone" type="radio" name="radio" value="one" <%=((request.getAttribute("radio")!=null && request.getAttribute("radio").toString().equals("one")) ? "checked" : "")%> />
<input id="rdtwo" type="radio" name="radio" value="two" <%=((request.getAttribute("radio")!=null && request.getAttribute("radio").toString().equals("two")) ? "checked" : "")%> />
<input id="rdthree" type="radio" name="radio" value="three" <%=((request.getAttribute("radio")!=null && request.getAttribute("radio").toString().equals("three")) ? "checked" : "")%> />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.