0
JavaScriptの中でJava(Session)
いつも参考にさせていただいています。
プルダウンメニューの数値変更時に
変更された数値分のInputBoxを作りたい。
という目的の作業をしており、以下のような
プログラミングをしてみました。
しかし、なぜかSessionにデータが登録されません。
JavaScript内ではSystemログが出せないようだったので
アラートで、現在のsession設定値を表示してみたところ
switch文内部のsession設定直後は、選択された値に
設定されているのに、switch文を抜けたあとに表示
するアラートでは 設定値が1になってしまうのです。
分かる方教えてもらえないでしょうか?
すみませんがおねがいします。
<%@page contentType="text/html; charset=SJIS" %>
<html>
<head>
<script language="JavaScript">
<!--
function reload(n){
if (n != null){
alert(n);
switch(n){
case "1":
<% application.setAttribute("boxnum",new Integer(1)); %>
alert("ここでは" + <%=(Integer)(application.getAttribute("boxnum"))%>);
break;
case "2":
<% application.setAttribute("boxnum",new Integer(2)); %>
alert("ここでは" + <%=(Integer)(application.getAttribute("boxnum"))%>);
break;
case "3":
<% application.setAttribute("boxnum",new Integer(3)); %>
alert("ここでは" + <%=(Integer)(application.getAttribute("boxnum"))%>);
break;
case "4":
<% application.setAttribute("boxnum",new Integer(4)); %>
alert("ここでは" + <%=(Integer)(application.getAttribute("boxnum"))%>);
break;
default:
<% application.setAttribute("boxnum",new Integer(1)); %>
alert("default");
}
alert("switch分抜けたら" + <%=(Integer)(application.getAttribute("boxnum"))%>);
location.href = "javascript:location.reload(true);"
}
}
// -->
</script>
</head>
<body>
<%
// セッション設定値取得
int iboxnum = 1; // セッション未登録時はboxを1個記述
Integer num =(Integer)(application.getAttribute("boxnum"));
if(num != null){
iboxnum = num.intValue();
}
%>
<br><br>増えるBOX<br>
<form name="form" action="/project/Servlet" method="post">
<table border="0" cellpadding="6" width="100%">
<tr>
<td bgcolor="#6666FF">
<font color="#FFFFFF" SIZE=1>ID</font><BR>
<font color="#FFFFFF" SIZE=1>個数</font>
<font action="location.href" method="post">
<select name="num" onChange="reload(this.options[this.selectedIndex].value)">
<option value="1">1</option> <!-- 以下件数 -->
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<td bgcolor="#CCCCFF">
<%
int i = 0;
while(i < iboxnum){
%>
<input type="TEXT" name="MEISAI_ID" size="15" maxlength="7" balue=""><br>
<%
i++;
}
%>
<input type="hidden" name="MEISAI_NUM" value=<%= iboxnum %>>
</td>
</tr>
<tr>
<td bgcolor="#FFFFFF" colspan=2><div align="RIGHT">
<INPUT TYPE="reset" VALUE = "リセット">
<INPUT TYPE="submit" VALUE = " 登 録 ">
</DIV></td>
</tr>
</table>
</form></body></html>