我有一个具有两个功能的javascript文件:
function animateBars(x){
x.classList.toggle("change");
x.classList.toggle("close");
}
function showResult(str) {
if (str.length==0) {
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
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 (this.readyState==4 && this.status==200) {
document.getElementById("livesearch").innerHTML=this.responseText;
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
}
xmlhttp.open("GET","livesearch.php?q="+str,true);
xmlhttp.send();
}
我正在从多个PHP文件调用这两个函数。问题在于第一个函数animateBars
正常执行(意味着HTML正在查找.js文件)。但是,它没有执行第二个功能。当我将函数放在HTML的script
标记中时。可以。
我也知道showResult()
可能有一些错误。这就是为什么浏览器控制台输出的找不到变量:showResults()吗?
我想使用外部文件中的脚本进行测试,但是如果是上述情况,则应该内联完成JavaScript的测试?
问题在于对php的某些干扰,因为如果将index.php文件转换为index.html,则会加载showResult()函数。