我在html中使用onChange事件启动以下javascript:
我已经通过做一个简单的警报(“工作”)验证了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>
答案 0 :(得分: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);
}
});
希望这段代码能为您提供帮助;)