Processing form's element(s) in JSP -
i have html form in jsp page, , in have javascript validation. user must enter 1 field: name or id or year, , java file search student in database name or id or year. javascript alerts when no field filled , performs action if 1 field filled.
<html> <head> <title>student search database</title> <script language="javascript"> function validate2(objform){ int k = 0; if(objform.name.value.length==0){ objform.name.focus(); k++; } if(objform.year.value.length==0){ objform.year.focus(); k++; } if(objform.id.value.length==0){ objform.year.focus(); k++; } if(k == 0){ return false; } return true; } </script> </head> <body bgcolor=#add8e6><center> <form action="foundstudents.jsp" method="post" name="entry2" onsubmit="validate2(this)"> <input type="hidden" value="list" name="seek_stud">
...........................................................................................
the problem want process parameter receive in foundstudents.jsp: if year, in db student(s) in year , display student(s)' data(do in java file). how in foundstudents.jsp without checking again field filled(i've done in javascript searchstudent.jsp). mean foundstudents.jsp calls method in java file searching , displaying.
i tried input hidden worked, more forms. have 1.
foundstudent.jsp
<%@page import="stud.diploma.students.studentsmanager"%> <%@page import="stud.diploma.students.student"%> <%@page import="java.util.arraylist"%> <%@page import="stud.diploma.database.connectionsmanager"%> <%@ page language="java" import="java.sql.*, java.lang.*" %> <% student search = null; if(request.getparameter("seek_stud") != null){ //reading params searchstudent form string name = request.getparameter("name"); string year_prime = request.getparameter("year"); int year, id; try{ year = integer.parseint(year_prime); }catch(exception e1){ year = 0; } string id_prime = request.getparameter("id"); try{ id = integer.parseint("id"); }catch(exception e2){ id = 0; } if(name.length() != 0){ search = studentsmanager.getinstance().studbyname(name); } if(year > 0){ search = studentsmanager.getinstance().studbyyear(year); } if(id > 0){ search = studentsmanager.getinstance().studbyid(id); } if(search != null){ %> <html> <body bgcolor=#4aa02c> <center> <h2>student's data</h2> <table border="1" cellspacing="1" cellpadding="8" bgcolor= #ebdde2> <tr> <td bgcolor= #ff9966><b>id</b></td> <td bgcolor= #ff9966><b>name</b></td> <td bgcolor= #ff9966><b>year</b></td> </tr> <tr> <td><%= search.getid()%></td> <td><%= search.getname()%></td> <td><%= search.getyear()%></td> </tr> </table> </center> </body> </html> <%}else{%> <% string redirecturl = "mainmenu.html"; response.sendredirect(redirecturl); %> <%}%> <%}%>
this foundstudent.jsp version of multiple forms (using hidden input) worked. (the javascript test little bit different, typed insted of had in beginning)
it searched name , year only. didn't search id (i had exception here <td><%= search.getid()%></td>
i'm still trying see how deal it. id auto_increment primary key)
lines : search = studentsmanager.getinstance().studbyname(name);
search student type object. (object student creaded in java file)
studentsmanager java class receives calls it's methods jsp. getinstance() creates instance of studentsmanager. method studbyname(name) receives parameter name form , searches in database.
so changed (java)script to:
<script language="javascript"> function validatesea(){ if(document.entry2.name.value != ''){ return true; } else if(document.entry2.year.value != ''){ return true; } alert('please fill 1 field.'); return false; } </script> </head>
which 1 form. i'm not sure if did correct thing, in foundstudents.jsp, receive parameters of form, test:
if((request.getparameter("year") != null)||(request.getparameter("name") != null)){ //reading params searchstudent form ................}
it works way.
Comments
Post a Comment