'onchange'只启动一个 Java 脚本



你好,我有一个"选择"下拉,带有2个" on Change"操作

echo "<select id='selecttask' name='task' onchange='showpcaction(this.value);showpcinterview(this.value);'>";
echo "<option disabled selected>";
while ($row = db2_fetch_assoc($stmt)) {
echo "<option value='".$row['TASK_NAME']."'>".$row['TASK_NAME']."`</option>";}
echo "</select>";`

问题在于,实际上只有一个(始终是Sedond(。我可以让其中一个开始,但不能同时开始。我以前这样做了,没有任何问题,所以不确定发生了什么。

这是2个Java脚本:

function showpcinterview(task_name) {            
if (task_name == 'Interview'){
          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("pc_interview").innerHTML = xmlhttp.responseText;
        }
    };
    xmlhttp.open("GET","showpcinterview.php",true);
    xmlhttp.send();
} 
else{
document.getElementById("pc_interview").innerHTML ="";
}
}

              function showpcaction(task_name) {

          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("pc_action").innerHTML = xmlhttp.responseText;
        }
    };
    xmlhttp.open("GET","showpcaction.php?task_name=" + task_name,true);
    xmlhttp.send();

}

尝试通过使用var关键字在功能范围内简单地声明xmlhttp。

在您的情况下,由于不存在var语句,该对象是全局的,因此,在您的第一个函数中首次声明了一个侦听器并发送请求,然后立即在第二个功能中,您重新记录了此对象,从而杀死了现成的听众。

因此,只要在两个函数中声明您的对象:var xmlhttp = new xmlhttprequest((;

相关内容

最新更新