我正在处理这段代码以显示客户端列表,并且点击它使用所选名称和隐藏文本字段填充文本字段。JavaScript html不能在铬上工作
HTML
<input type="hidden" id="id" value="" />
<input type="text" name="client" id="client" class="round full-width-input" value="Type a name..." onChange="searchClient()" onkeypress="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();" onfocus="if(this.value=='Type a name...') {this.value=''}" onblur="if(this.value == ''){this.value='Type a name...'; document.getElementById('search_results').innerHTML = '';}" />
<label style="margin:0 0 0 1%"><i id="search_results"></i></label>
平变化它使用JavaScript调用PHP文件。
的Javascript
function searchClient()
{
var str = document.getElementById("client").value;
if (str == "")
{
document.getElementById("search_results").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("search_results").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","search_client.php?name="+str,true);
xmlhttp.send();
}
PHP文件时返回列表,并填充标签。以下是从PHP文件返回的内容
echo '<a onClick="selectClient('.$fullname.','.$row[0].')">
<tr><td class="cap">'.$fullname.'</td></tr></a>';
然后我可以点击列表并再次调用javascript来填充文本字段。
的Javascript selectClient
function selectClient(name,id)
{
document.getElementById("id").value = id;
document.getElementById("client").value = name;
document.getElementById("search_results").innerHTML = "";
}
我的问题是: 这不是工作在Chrome,但工作得很好IE。 任何人都知道我在这里错过了什么?
感谢您的帮助。
如果您使用的是jQuery,为什么要使用XMLHttpRequest的AJAX方法? – j08691