2012-08-22 122 views
0

我的ajax脚本加载第二个选择框,工作在Firefox和铬,但internt探险者无法处理它。我从我的选择框中调用onChange函数,并将选择框中的值赋给函数。ajax互联网浏览器onchange

代码:

function getXMLHTTP() 
{ 
var xmlhttp; 

if (window.XMLHttpRequest) 
{// code for IE7+, Firefox, Chrome, Opera, Safari 
xmlhttp=new XMLHttpRequest(); 
} 
else 
{// code for IE6, IE5 
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

return xmlhttp; 
} 

function getType(categoryName) 
{  

    var strURL="includes/get.php?c="+categoryName+"&sid="+Math.random(); 
     var req = getXMLHTTP(); 

     if (req) { 

       req.onreadystatechange = function() { 
         if (req.readyState == 4) { 
           // only if "OK" 
           if (req.status == 200) 
            {document.getElementById('type').innerHTML=req.responseText;       
           } else { 
             alert("There was a problem while using XMLHTTP:\n" + req.statusText); 
           } 
         }    
       }   
       req.open("GET", strURL, true); 
       req.send(null); 
     }  
} 

我的第二个问题是,是否有可能发送选项标签,而不是在选择标签值之间的文本?

+4

这是更好地使用AJAX框架(如jQuery的)来处理跨浏览器的问题。尽量不要重新发明轮子。 – Raptor

+0

是的,但它只是这个小脚本没有更多 – digga

回答

1

对于你的第一个问题,我想你的if (req)返回false。你使用哪个IE版本?尝试在getXMLHTTP()函数中添加调试代码以开始诊断代码。尝试通过微软提供的这种解决方案:http://msdn.microsoft.com/en-us/library/ms537505(v=vs.85).aspx

我尽量不重复别人的答案。下面是在选定的选项标签获取文本答案:Getting the text from a drop-down box

+0

我试图使用微软的解决方案,但它仍然无法正常工作。对于Firefox和Chrome的各种作品来说,但在IE 9或8中,它并不工作。 – digga

+0

你可以使用jQuery吗? – Raptor

+0

之前没有与jQuery的工作,我可以尝试它,但我不知道如何实现jquery中的当前代码 – digga