呼叫在IE
问题描述:
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>
答
嗯..你可以尝试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);
}
});
希望这个片段可以帮助你;)
什么是'txtHint'? _not working_是什么意思? – epascarello 2012-07-13 18:15:12
欢迎来到Stack Overflow! – 2012-07-13 18:17:25
控制台说什么? – 2012-07-13 18:18:15