2012-07-13 164 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