-2
두 개의 드롭 다운 위치 및 부서가있는 JSP가 있습니다.서블릿에서 JSP 드롭 다운 값에 액세스 할 수 없습니다.
부서 드롭 다운 값은 Ajax를 통한 위치 값을 기반으로 채워집니다.
그러나 페이지를 저장하려고 할 때 부서 드롭 다운의 첫 번째 항목이 선택되면 부서 드롭 다운 값에 액세스 할 수 없습니다.
하지만 두 번째 또는 세 번째 항목을 선택하면 서블릿에서 액세스 할 수 있습니다.
<form id="form1" name="crtdocfrm" action="CreateLocation" method="post">
<fieldset width="50%">
<legend>Division</legend>
<table id="table1">
<tr class="tr_stylebutton">
<td>Location Name</td>
<td><select name="locName" onChange="showDept(this.value)">
<option value="-1">--select--</option>
<%
Iterator itrLocation = arlLocation.iterator();
while (itrLocation.hasNext()) {
%>
<option value=<%=itrLocation.next()%>><%=itrLocation.next()%>
</option>
<%}%>
</select></td>
</tr>
<tr class="tr_stylebutton">
<td>Department Name</td>
<td>
<select name="ddDeptName" onChange="alert(this.value)"></select>
</td>
</tr>
<tr class="tr_stylebutton">
<td>Division ID</td>
<%
LocationPolulate lp = new LocationPolulate();
int Div_Id = lp.DivisionId();
%>
<td><input type="text" name="divID" disabled="true" value=<%=Div_Id + 1%>/></td>
</tr>
<tr class="tr_stylebutton">
<td>Division Name</td>
<td><input type="text" name="divName" value=""/></td>
</tr>
</table>
<table border="0" width="55%" align="left" id="table-button">
<tr class="tr_stylebutton">
<td align="right"><input type="submit" value="Save" class="button"/></td>
<td align="left"><input type="submit" value="Cancel" class="button"/></td>
</tr>
</table>
</fieldset>
<br/>
</form>
서블릿
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
int intLocId = Integer.parseInt(request.getParameter("locName"));
String strDivNm = (String) request.getParameter("divName");
int intDeptId = Integer.parseInt(request.getParameter("ddDeptName"));
LocationPolulate lp = new LocationPolulate();
int Res = lp.InsertDivision(strDivNm, intLocId, intDeptId);
if (Res == 0) {
request.setAttribute("Errmsg", "Error Cannot Save Division");
RequestDispatcher dis1 = getServletContext().getRequestDispatcher("/AddDivision");
dis1.forward(request, response);
} else {
int Div = lp.DivisionId();
request.setAttribute("succmsg", "Successfully saved Division with division id:" + Div);
RequestDispatcher dis1 = getServletContext().getRequestDispatcher("AddDivision.jsp");
dis1.forward(request, response);
}
}
어떤 아이디어가?
stateChanged 여기 함수() { 경우 (xmlHttp.readyState의 == 4 || xmlHttp.readyState == "완료") { VAR으로 만들었 = xmlHttp.responseText; var strar = showdata.split (":"); \t if (strar.length == 1) \t {document.getElementById ("locName"). focus(); \t 알림 ("위치 ID를 선택하십시오"); \t \t else if (strar.length> 1) \t {option = new Option ("--- Select ---", -1); document.crtdocfrm.ddDeptName.options [0] = option; for (var i = 0; i
Alivia
그냥 궁금, 당신은 당신의 코드를 읽을 찾을 수 있습니까? – BalusC
옵션 태그 Iterator에서 각 옵션에 대해'.next()'메소드를 두 번 호출했음을 알고 계십니까? 한 번은 value, 한 번은 표시 값입니까? –