2010-06-04 30 views
1
工作

我用我的項目的jQuery AJAX多數民衆贊成工作在我的Firefox不錯,但它似乎在IE6 工作如何讓IE6 jQuery的阿賈克斯工作,這是我的代碼我的jQuery AJAX犯規似乎在IE6

function Load_State(inp) 
{ 

$.ajax({ 
    type: "GET", 
    url: "<?=base_url()?>/system/application/views/ssitAjax.php", 
    data: "selCurCountry="+inp, 
    success: function(msg){ 
    //alert( msg); 
    document.getElementById('selCurState').innerHTML=msg; 
    } 
}); 
} 
function Load_City(inp) 
{ 

$.ajax({ 
    type: "GET", 
    url: "<?=base_url()?>/system/application/views/ssitAjax.php", 
    data: "selCurState="+inp, 
    success: function(msgq){ 
    //alert( msgq); 
    document.getElementById('selCurCity').innerHTML=msgq; 
    } 
}); 
} 

這是我SSIT AJAX頁面

<?php 

include('dbConnection.php'); 

session_start(); 
if(($_GET['selCurCountry']!="") || (isset($_GET['selCurCountry']))) 
{ 

      $Country = $_GET['selCurCountry']; 
      $_SESSION['Country'] = $Country; 

      $query = "SELECT dState_id,dStateName 
          FROM tbl_state 
          WHERE dCountry_id='$Country' 
          AND dIsDelete='0'"; 


      $result = mysql_query($query,$cn) or die("Selection Query Failed !!!"); 

      echo '<option value="0">Select The State</option>'; 

      while($rowset = mysql_fetch_array($result)) 
      { 
       echo "<option value='".$rowset[0]."'>".$rowset[1]."</option>"; 
      } 

} 
else if(($_GET['selCurState']!="") || (isset($_GET['selCurState']))) 
{ 

      $State = $_GET['selCurState']; 
      $_SESSION['state'] = $State; 
      $query = "SELECT dCity_id,dCityName FROM tbl_city 
         WHERE dState_id='$State' 
         AND dIsDelete='0'"; 


      $result = mysql_query($query,$cn) or die("Selection Query Failed !!!"); 


      echo '<option value="0">Select The City</option>'; 

      while($rowset = mysql_fetch_array($result)) 
      { 
       echo "<option value='".$rowset[0]."'>".$rowset[1]."</option>"; 
      } 



}?> 

編輯:

<option value="0">Select The State</option> 
<option value='1'>Andhra Pradesh</option><option value='2'>Arunachal Pradesh</option><option value='3'>Assam</option><option value='4'>Bihar</option><option value='5'>Chandigarh</option><option value='6'>Chhattisgarh</option><option value='7'>Dadra and Nagar Haveli</option><option value='8'>Daman and Diu</option><option value='9'>Delhi</option><option value='10'>Goa</option><option value='11'>Gujarat</option><option value='12'>Haryana</option><option value='13'>Himachal Pradesh</option><option value='14'>Jammu and Kashmir</option><option value='15'>Jharkhand</option><option value='16'>Karnataka</option><option value='17'>Kerala</option><option value='18'>Lakshadweep</option><option value='19'>Madhya Pradesh</option><option value='20'>Maharashtra</option><option value='21'>Manipur</option><option value='22'>Meghalaya</option><option value='23'>Mizoram</option><option value='24'>Nagaland</option><option value='25'>Orissa</option><option value='26'>Puducherry</option><option value='27'>Punjab</option><option value='28'>Rajasthan</option><option value='29'>Sikkim</option><option value='30'>Tamil Nadu</option><option value='31'>Tripura</option><option value='32'>Uttar Pradesh</option><option value='33'>Uttarakhand</option><option value='34'>West Bengal</option> 
+1

有沒有錯誤?你能展示*解析的HTML *而不是PHP源代碼嗎? – 2010-06-04 12:16:02

+3

在任何問題提問網站(如SO)或討論論壇上,當您提問時,無論何時您發現自己打字*「但它似乎不起作用......」*,退格並說「但它在我想要時會執行XYZ它做ABC「(或者」但它不做XYZ,我期待它。「)你明白了。 :-) – 2010-06-04 12:18:10

+1

+1對於TJ,也許你的錯誤是由於即緩存ajax請求...你必須有一個在查詢結束的隨機數 – 2010-06-04 12:23:29

回答

1

哦等一下 - 我想我知道問題是什麼。在IE6中,你不能僅僅替換這樣的<select>元素的「innerHTML」。你必須從頭開始重建整個<select>。 (或者你可以空出來的<select>元素options陣列,並與DOM API的重建它們。)

嘗試包裹在<span>標籤<select>要素(與「ID」的值),然後重建那些「的innerHTML」再次添加<select>元素。這是我所知道的一個痛苦,它可能會弄亂其他的東西,但這將是一個很好的實驗來驗證我的懷疑。

+0

@patrick * *可能*工作,但它取決於jQuery足夠聰明,以弄清楚 - 也許它! – Pointy 2010-06-04 15:46:28

+0

*之前測試過*我發佈了評論。 :o) – user113716 2010-06-05 13:56:12

+0

@patrick當然你做到了,所以我的道歉 – Pointy 2010-06-05 14:10:34

0

我以前沒有遇到PHP,但在IE中使用ajax/get/post調用時有類似的奇怪現象。你有沒有試過指定內容類型?

$.ajax({ url: "/home/myPage.aspx", 
     type: "GET", 
     data: { selCurrCountry: inp }, 
     content-type: "application/json", 
     success: function(data) { 
      alert("Yay!"); 
     } 
}); 

此外,如果您需要在查詢字符串數據值,爲什麼不把它添加到URL,並設置數據:{}或不呢?

$.ajax({ url: "/home/myPage.aspx?selCurCountry=" + inp, 
     type: "GET", 
     success: function(data) { 
      alert("Yay!"); 
     } 
}); 

希望這會有所幫助。

+0

我敢打賭,Ajax部分工作正常;畢竟,它在Firefox中爲他工作。 – Pointy 2010-06-04 12:55:06

+0

可能。但IE6是JavaScript部門中的一個不同的野獸。我只是想提供一些建議。我以前看過這種怪事。 – Tacoman667 2010-06-04 13:48:45