0
検証エラーが発生したときに次のJSPページにナビゲートしてはいけない最初のページを防ぎたい。なぜエラーがポップアップしている間に、次のコードが送信ボタンの次のページに転送されるのですか?
index.jspを
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>date of birth validation</title>
<script type="text/javascript">
function isValidDate(date, month, year)
{
var flagDate = new Date(year, month, date);
if (flagDate.getFullYear() != year || flagDate.getMonth() != month || flagDate.getDate() != date)
{
return false;
}
return true;
}
function calculateDiffYear(date, month, year)
{
var cur = new Date();
var diff = Math.floor((cur.getTime() - new Date(year, month, date))/(60 * 60 * 24 * 1000));
diff -= Math.floor((cur.getFullYear() - year)/4);
return diff/365;
}
function checkBorn(sender)
{
var root = sender.form;
var date = root.elements['date'].value;
var month = root.elements['month'].value - 1;
var year = root.elements['year'].value;
if (!isValidDate(date, month, year) || calculateDiffYear(date, month, year) < 18)
{
alert("candidate should be grater than 18 years");
document.form.name1.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<form name = "form" action="./next2.jsp" method="post">
<center>
<br><br><br><br>
<br><br><br><br>
Date of Birth :
<select name='date' id='dayddl'>
<option value='dd'>dd</option>
<option value='01'>01</option>
<option value='02'>02</option>
<option value='03'>03</option>
<option value='04'>04</option>
<option value='05'>05</option>
<option value='06'>06</option>
<option value='07'>07</option>
<option value='08'>08</option>
<option value='09'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
<option value='24'>24</option>
<option value='25'>25</option>
<option value='26'>26</option>
<option value='27'>27</option>
<option value='28'>28</option>
<option value='29'>29</option>
<option value='30'>30</option>
<option value='31'>31</option>
</select>
<select name='month' id='monthddl'>
<option value='mm'>mm</option>
<option value='01'>01</option>
<option value='02'>02</option>
<option value='03'>03</option>
<option value='04'>04</option>
<option value='05'>05</option>
<option value='06'>06</option>
<option value='07'>07</option>
<option value='08'>08</option>
<option value='09'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
</select>
<select name='year' id='blah'>
<option value='yyyy'>yyyy</option>
<option value='1995'>1995</option>
<option value='1996'>1996</option>
<option value='1997'>1997</option>
<option value='1998'>1998</option>
<option value='1999'>1999</option>
<option value='2000'>2000</option>
<option value='2001'>2001</option>
<option value='2002'>2002</option>
<option value='2003'>2003</option>
<option value='2004'>2004</option>
<option value='2005'>2005</option>
<option value='2006'>2006</option>
<option value='2007'>2007</option>
<option value='2008'>2008</option>
<option value='2009'>2009</option>
<option value='2010'>2010</option>
<option value='2011'>2011</option>
<option value='2012'>2012</option>
<option value='2013'>2013</option>
<option value='2014'>2014</option>
<option value='2015'>2015</option>
<option value='2016'>2016</option>
<option value='2017'>2017</option>
</select>
<br><br><input type ="submit" value="submit" onclick="checkBorn(this)">
</center>
</form>
</body>
</html>
エラーは、その後制御を来ることが起こっている理由を前方に次のJSPページ にそれいけないが、次のJSPページ に転送されますか? 、私はコードに変更を加えるべきか
next2.jspは以下の通りです:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%@ page import="java.util.Date"%>
<%@ page import="java.text.*"%>
<%
String day = request.getParameter("date");
String month = request.getParameter("month");
String year = request.getParameter("year");
//String date = request.getParameter("dob");
out.write(day+":"+month+":"+year);
String date1 =year+"-"+month+"-"+day;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dob1 = sdf.parse(date1);
java.sql.Date dob2 = new java.sql.Date(dob1.getTime());
out.write("<br><br>"+dob2);
%>
</body>
</html>