2013-06-05 224 views
0

我已經創建了一個在Chrome和Firefox上工作的ajax函數,但不是8能找到問題嗎?跨瀏覽器Ajax問題

HTML部分:

<select id='choices'> 
<option id="no" value="no" onClick="check()">No</option> 
<option value="yes" onClick="check()">Yes</option> 
</select> 

的Javascript部分:

function check(){ 
    var a = document.getElementById("choices").value; 
    var type = "label"; 
    ajaxFunction(a,type); 
    if(a == "yes"){ 
     document.getElementById("results").style.display="block"; 
    } 
    else{ 
     document.getElementById("results").style.display="none"; 
    } 
} 

AJAX科:

function ajaxFunction(result,dif){ 
    var ajaxRequest; // The variable that makes Ajax possible! 

    try{ 
     // Opera 8.0+, Firefox, Safari 
     ajaxRequest = new XMLHttpRequest(); 
    } catch (e){ 
     // Internet Explorer Browsers 
     try{ 
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
     } catch (e) { 
      try{ 
       ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (e){ 
       // Something went wrong 
       alert("Your browser broke!"); 
       return false; 
      } 
     } 
    } 
    // Create a function that will receive data sent from the server 
    ajaxRequest.onreadystatechange = function(){ 
     if(ajaxRequest.readyState == 4){ 
      if(dif == "label"){ 
       var ajaxDisplay = document.getElementById('results'); 
      } 
      else{ 
       var ajaxDisplay = document.getElementById('results1'); 
      } 
      ajaxDisplay.innerHTML = ajaxRequest.responseText; 
     } 
    } 
    if(dif == "label"){ 
     var hiddenvalue = document.getElementById('hiddenvalue').value; 
     var queryString = "?type=" + result + "&label=" + hiddenvalue + "&dif=" + dif; 
    } 
    else{ 
     var queryString = "?type=" + result + "&dif=" + dif; 
    } 

    ajaxRequest.open("GET", "scripts/script.php" + queryString, true); 
    ajaxRequest.send(null); 
} 

PHP節:

var_dump($_GET); 

我不確定這是否只是一個兼容性問題,因爲我已經使用非常類似的代碼在另一個項目中工作正常,但我也有一些其他腳本加載在如jQuery 1.2.3和谷歌分析(有先進的鏈接跟蹤器,我不得不拋棄,因爲它是拋出一個錯誤)。我已經檢查了調試器並單擊了所有錯誤,我可以在onclick上單擊,但實際上在調試器中沒有顯示任何錯誤。有沒有人得到任何其他jQuery的權利(不能讓我的頭附近)

+0

只是爲了向產品中添加阿賈克斯負載到頁面時的URL是正確的,但的onclick似乎並沒有給迴應是或否添加或當它在Firefox和Chrome –

回答

0

IE不支持onclick上的選項。

onchange需要在選擇。

<select id='choices' onchange="check()"> 
    <option id="no" value="no">No</option> 
    <option value="yes">Yes</option> 
</select> 
+0

不會刪除內容我試過這個也沒用的東西 - .- –

+0

函數是不是打開了?它是否進入Ajax調用?你需要調試。 – epascarello

+0

正確的,我沒有選擇那onchange會是原因!我會試試這謝謝你的幫助! –