Hi. I have tried to insert javascript in servlet. But it is not validating my form. I am giving my code along with this message. Please tell me what should I do so that I can be able to validate my page. Thanks in advance. import java.io.*; import java.net.*; import javax.servlet.*; import javax.servlet.http.*; /** * * @author administrator * @version */ public class login extends HttpServlet { /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<script language=javascript>"); out.println("function val() {"); out.println("if(document.form.uname.value.length <1) {"); out.println("alert(Enter your first name);"); out.println("document.form.uname.focus();"); out.println("document.form.uname.style.background=pink;"); out.println("return false;"); out.println("}"); out.println("if(document.form.pass.value.length <1) {"); out.println("alert(Enter password);"); out.println("document.form.pass.focus();"); out.println("document.form.pass.style.background=pink;"); out.println("return false;"); out.println("}"); out.println("return true;"); out.println("}"); out.print("</script>"); out.println("<title>Servlet login</title>"); out.println("</head>"); out.println("<body bgcolor=#dddddd>"); out.println("<form name=form action=http://localhost:8084/servlet/val method=get onSubmit=return val()>"); out.println("<h1><p align=center> Consumer Electronics System</p><hr border=10 /></h1>"); out.println("<h3><p align=center>Administrator Login</p></h3>"); out.println("<p align=center> </p>"); out.println("<p align=center><strong>User Name:</strong>"); out.println("<input name=uname type=text /></p>"); out.println("<p align=center><strong>Password: </strong>"); out.println("<input name=pass type=password />"); out.println("</p>"); out.println("<p align=center>"); out.println(" "); out.println(" <input type=submit name=Submit value=Submit />"); out.println("<input name=Cancel type=reset id=Cancel value=Cancel />"); out.println("</p>"); out.println("</form><br><br><h3>"); out.println("<p align=center>"); out.println("<a href=http://localhost:8084/servlet/signup>Sign up</a>"); out.println("</p></h3>"); out.println("</body>"); out.println("</html>"); out.close(); } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** Returns a short description of the servlet. */ public String getServletInfo() { return "Short description"; } // </editor-fold> }
Maybe is because there is a misspell here: out.println("}"); [COLOR="Red"]out.print("</script>");[/COLOR] out.println("<title>Servlet login</title>"); Code (markup): It should be: out.println("}"); [COLOR="Green"]out.println("</script>");[/COLOR] out.println("<title>Servlet login</title>"); Code (markup):
When you said "...But it is not validating my form...", is it failing on val() function on client side, or on servlet/signup server side ? And what kind of error are you getting ?
it is client side scripting and it doesn't give any error but it doesn't validate my form fields and it directly goes to second page and on the second page I have put server side validation using servlet.
Well, your generated javascript has multiple errors. Mainly because it doesn't have quotes around strings. Examples: =pink instead of ='pink' Enter your first name instead of 'Enter your first name' etc... But maybe the most important is this: replace: <input type=submit name=Submit value=Submit/> with <input type='submit' name='Submit' value='Submit' onclick='return val();'/> And your sentence: out.println(" "); it's really old fashioned, now it's simpler with some CSS span or div .