2012-07-13 163 views
0

PHP不工作,我用的HTML的onChange事件啓動下面的javascript:呼叫在IE

我驗證過onChange事件是由做一個簡單的獲取到的JavaScript警報( 「工作」); IE確實啓動了警報,但是我想要的實際代碼似乎並不奏效。 (其在FF,Chrome,Safari,iPad和Android中的功能)。

該函數的功能是:通過onchange傳遞給它的值,並將其作爲變量發送給php文件。 php文件將獲取的變量插入到數據庫中。我不認爲PHP部分是問題,因爲它適用於所有其他瀏覽器。有沒有人有任何見解?

代碼:

function showUser(str) 
{ 
if (str=="") 
    { 
    document.getElementById("txtHint").innerHTML=""; 
    return; 
    } 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","http://testest.com/itgoeshere.php?q="+str,true); 
xmlhttp.send(); 
} 

我意識到,要明確增值屬性每個標籤,因爲你必須這樣做的I.E.但我相信我已經這樣做了......

下面是什麼select語句看起來像一個例子...

<select name="date" onChange="showUser(this.value)"> 
<option value="">---</option> 
<option value="1">Past hour</option> 
<option value="2">Past week</option> 
<option value="3">Past month</option> 
<option value="4">Past year</option> 
</select> 
+2

什麼是'txtHint'? _not working_是什麼意思? – epascarello 2012-07-13 18:15:12

+0

歡迎來到Stack Overflow! – 2012-07-13 18:17:25

+0

控制檯說什麼? – 2012-07-13 18:18:15

回答

1

嗯..你可以嘗試jQuery Ajax Function測試(jQuery的應該支持IE6) 。

也許described workaround(修復Internet Explorer & AJAX)可以解決該問題。

jQuery的Ajax調用:

$.ajax({ 
    type: "GET", 
    url: "getitinhere.php", 
    async: true,   
    data: { "str": str }, 
    success: function(data) { 
    alert('Success: '+data); 
    }, 
    error: function(jqXHR, textStatus, errorThrown){ 
    alert('Something went wrong' +textStatus);   
    } 
}); 

希望這個片段可以幫助你;)

+0

我讀了該頁面以及其他資源。所以在腳本中有這樣的東西? (漂亮的jQuery新) 功能showUser(STR) { $阿賈克斯(網址:{url: 「getitinhere.php」,類型: 「獲取」,數據:{ 「STR」:STR}})} – D3Chiq 2012-07-13 18:45:28

+0

是啊,看起來不錯,你也可以添加一個成功和/或錯誤回調函數像這樣 – F481 2012-07-13 20:51:40

+0

..看看我的答案在上面的代碼:) – F481 2012-07-13 21:01:45