Javascript Internet Explorer中的Ajax可靠下拉列表问题
我的网页中有两个下拉列表,一个依赖于另一个。我使用的Ajax代码在Chrome、Mozilla中运行良好,但在IE中运行不好,我使用的是IE9。有人能帮我纠正一下吗 这是Ajax代码-Javascript Internet Explorer中的Ajax可靠下拉列表问题,javascript,ajax,internet-explorer,drop-down-menu,Javascript,Ajax,Internet Explorer,Drop Down Menu,我的网页中有两个下拉列表,一个依赖于另一个。我使用的Ajax代码在Chrome、Mozilla中运行良好,但在IE中运行不好,我使用的是IE9。有人能帮我纠正一下吗 这是Ajax代码- <script language="javascript" type="text/javascript"> var xmlHttp var xmlHttp function showSubCategory(str){ if (typeof XMLHttpReques
<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
}
}
如果我遵循上述方法,我将无法使用以下JS代码对该子类别选择框执行任何javascript表单验证
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;
}
}
希望我的问题清楚。如果需要更多解释,请告诉我。谢谢更改ajax代码调用的subcategory.jsp中下面的代码行 在webpagemain页面上,html应该是
<div id='subcategory'>
</div>
function stateChange1(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("subcategory").innerHTML=xmlHttp.responseText
}
你能发布XMLHttpRequest对象的responseText吗?请让我知道我的答案是否有效。我已经编辑了我的答案。请看一下。对您的第一条评论的回答是肯定的,更改html代码,它应该可以工作。'buffer=buffer+;response.setContentTypetext/html;response.getWriter.printlnbuffer;'单击“右”按钮,当单击我答案左侧的标记时,该按钮变为绿色,您已接受我的答案并将其标记为已解决。除此之外,您还可以通过单击我答案左侧0上方的向上箭头来投票支持我的答案。您的意思是,我应该在主jsp上更改此代码-将子类别选择为just-然后选择列表会发生什么情况?它在页面中的显示程度如何?您能告诉我应该在哪里添加这一行吗?response.setContentTypetext/html;谢谢拉维的快速回复。但我现在在我的工作场所,没有机会接触我的项目。我会落实你的答案,一定会让你知道的。谢谢,你好,拉维。。。成功了。非常感谢你的帮助。当我刚开始时,第二个选择框不会出现。仅当在第一个下拉列表中选择了某个选项时,该选项才会显示。所以我把它改为--选择子类别。。它现在工作得很好。你能解释一下这里的问题吗?我接受你的答案。如何接受这个答案并将这个问题标记为已解决?我是新来的。。。
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;
}
}
String buffer="<select name='adv.subCategoryNo'><option >Select the Subcategory</option>";
String buffer="<select id='subcat' name='adv.subCategoryNo'><option >Select the Subcategory</option>";
response.setContentType("text/html");
<div id='subcategory'>
</div>
function stateChange1(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("subcategory").innerHTML=xmlHttp.responseText
}