0

我正在使用 html 中的 onChange 事件启动以下 javascript:

我已经通过执行一个简单的 alert("working"); 验证了 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();
}

我意识到必须为每个标签显式添加值属性,因为您必须为 IE 这样做但我相信我已经做到了......

这是 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>
4

1 回答 1

1

嗯..你可以试试jQuery Ajax Function进行测试(jQuery应该支持IE6)。

也许所描述的解决方法(修复 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);          
  }
}); 

希望这个片段可以帮助你;)

于 2012-07-13T18:21:40.967 回答