问题描述:我做的是这样一个效果,当我选择月份时候,我可以用AJAX联动把这个月的天数用下拉菜单显示出来,问题来了,当月份表单onchange事件触发后,我用AJAX获得天数数据innerHTML到指定位置的下拉菜单上,由于做的是分帧(frame),所以查看源代码是显示不出当前页的代码,于是我用火狐的firebug插件查看,<option>标签里的value值是存在的,并且的确是存在的,因为在ie浏览器下可以接受到这个天数的post值,而非ie浏览器都接收不到这个post值,请高手帮忙解决。谢谢。很急
{
if(window.ActiveXObject)//ActiveXObject对象到找到的时候返回的是真,否则是假
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//这个是使用IE的方法创建XmlHttp
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();//这个是使用非IE的方法创建XmlHttp
}
}另外传递中文时记得编码 urlencode
{ name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
}
);
var rgExp = /bbsName/i;function ajax_get(url){
//判断浏览器
if(window.ActiveXObject){
try{
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try{
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
http_request=false;
}
}
}else{
http_request=new XMLHttpRequest();
//设置MIME类型,保证为XML格式text/xml
if(http_request.overrideMimeType){
http_request.overrideMimeType("text/xml");
}
}
if(http_request){
http_request.onreadystatechange = process;
http_request.open("GET",url,true);
http_request.setRequestHeader("If-Modified-Since",0);
http_request.send(null);
}else{
alert("AJAX引擎创建失败");
}}function ajax_post(url,data){
//判断浏览器
if(window.ActiveXObject){
try{
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
try{
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
http_request=false;
}
}
}else{
http_request=new XMLHttpRequest();
//设置MIME类型,保证为XML格式text/xml
if(http_request.overrideMimeType){
http_request.overrideMimeType("text/xml");
}
}
if(http_request){
http_request.onreadystatechange=process;
http_request.open("POST",url,true);
http_request.setRequestHeader("If-Modified-Since",0);
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
http_request.send(data);
}else{
alert("AJAX引擎创建失败");
}}
var i = document.getElementById("month").selectedIndex;
var month = document.getElementById("month").item(i).value;
ajax_get("../admin/main.php?action=getDay&type=Cult&month="+month);
}
function process(){
if(http_request.readyState==4){
if(http_request.status==200){
text=http_request.responseText;
//alert(text);
document.getElementById("m").innerHTML=text;
}
}
}
要会自己review,楼主加油!
肯定是兼容性的问题,用jquery 会轻松一些 $("#id").html(""); 就相当于 document.getElementById('id').innerHTML = '';了,当然硬要自己写,就一步一步的去追踪,直到哪一步是正确的再往下走了。慢慢来,肯定会搞定的。