내 웹 페이지에 두 개의 드롭 다운 목록이 있으며 한 쪽이 다른쪽에 종속되어 있습니다. 내가 사용중인 Ajax 코드는 Chrome, Mozilla에서는 잘 작동하지만 IE에서는 그렇지 않습니다 (IE9를 사용 중입니다). 이 문제를 해결하는데 도움을 주실 수 있습니까?Internet Explorer의 Ajax 신뢰할 수있는 드롭 다운 목록 문제
이것은 아약스 목록 드롭 다운 메뉴가 있습니다 .-
다음<table>
<tr>
<td align="right" width="10%">Category </td>
<td>
<select id='category' name="adv.categoryNo" onchange="showSubCategory(this.value)">
<option >Select the Category</option>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con1 = DriverManager.getConnection("jdbc:mysql://localhost:3306/db","user","pwd");
Statement stmt1 = con1.createStatement();
ResultSet rs1 = stmt1.executeQuery("Select * from categories");
while(rs1.next()){
%>
<option value="<%=rs1.getString(2)%>"><%=rs1.getString(2)%></option>
<%
}
%>
</select>
</td>
</tr>
Second drop down list
<tr>
<td align="right" width="10%">Subcategory <span class="mandatory">*</span>: </td>
<td>
<div id='subcategory'>
<select id='subcat' name='subcategory'>
<option >Select the Subcategory</option>
</select>
</div>
</td>
</tr>
가 하위 범주 JSP 파일입니다 메인 JSP 페이지
<script language="javascript" type="text/javascript">
var xmlHttp
var xmlHttp
function showSubCategory(str){
if (typeof XMLHttpRequest != "undefined"){
xmlHttp= new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlHttp==null){
alert("Browser does not support XMLHTTP Request")
return;
}
var url="jsp/subcategory.jsp";
url +="?count=" +str;
xmlHttp.onreadystatechange = stateChange1;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChange1(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("subcat").innerHTML=xmlHttp.responseText
}
}
이
을 코드 -있다 Ajax가 호출합니다. 난 " subcat"에서 Ajax 코드의 다음 기능에 에서 getElementById PARAM 바뀌면<%@page import="java.sql.*"%>
<%
String category=request.getParameter("count");
String buffer="<select name='adv.subCategoryNo'><option >Select the Subcategory</option>";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db","user","pwd");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("Select * from subcategories where categoryName='"+category+"' ");
while(rs.next()){
buffer=buffer+"<option value='"+rs.getString(3)+"'>"+rs.getString(3)+"</option>";
}
buffer=buffer+"</select>";
response.getWriter().println(buffer);
}
catch(Exception e){
System.out.println(e);
}
%>
이상한 일이 "하위"다운 목록 제 강하를 덮는 DIV ID가 인 그것은 IE와 다른 브라우저에서 잘 작동합니다. 내가 위의 접근 방식을 따르는 경우에
function stateChange1(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("subcat").innerHTML=xmlHttp.responseText
}
나는 다음 JS 코드를 사용하여 해당 하위 카테고리 선택 상자에 대한 자바 스크립트 양식 유효성 검사를 할 수 없습니다입니다.
function madeSelectionCity(){
var subcat = document.getElementById('subcat');
if(subcat.value == "Select the City name"){
alert("Please select a subcategory first");
subcat.focus();
return false;
}else{
return true;
}
}
희망 사항은 분명합니다. 더 이상의 설명이 필요한지 알려주십시오. 감사합니다
당신이 게시 할 수 있어야합니다 있어야 **에서 responseText **의 ** XMLHttpRequest ** 객체. –
제 대답이 효과가 있는지 여부를 알려주세요. –
나는 나의 대답을 편집했다. 그것을보십시오. 귀하의 첫 번째 의견에 대한 답변은 예, HTML 코드를 변경, 그것이 작동합니다. –