Function 一次调用两个函数onchange=不工作

Function 一次调用两个函数onchange=不工作,function,onchange,Function,Onchange,我一直在搜索如何在onchange中放置多个函数,我发现了类似这样的方法,例如:onchange=“function1();function2();”。 我这里的问题是,我遵循了示例的内容,但只有函数1工作,函数2不工作。如果我将其改为onchange=“function2();function1();”,则只有函数2工作,函数1不工作,同样 有什么想法吗,伙计们? 谢谢 这些函数,我使用了Ajax: function1(test) { var kode = test.value;

我一直在搜索如何在onchange中放置多个函数,我发现了类似这样的方法,例如:
onchange=“function1();function2();”
我这里的问题是,我遵循了示例的内容,但只有函数1工作,函数2不工作。如果我将其改为
onchange=“function2();function1();”
,则只有函数2工作,函数1不工作,同样

有什么想法吗,伙计们? 谢谢

这些函数,我使用了Ajax:

function1(test)
{
    var kode = test.value;
    if (!kode) return;
    xmlhttp.open('get', '../template/get_name-opr.php?kode='+kode, true);
    xmlhttp.onreadystatechange = function() {
        if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
        {
            //alert(kode);
             document.getElementById("code").innerHTML = xmlhttp.responseText;
        }
        return false;
    }
    xmlhttp.send(null);
}

function2(test)
{
    var kode = test.value;
    if (!kode) return;
    xmlhttp**1**.open('get', '../template/get_name2-opr.php?kode='+kode, true);
    xmlhttp**1**.onreadystatechange = function() {
        if ((xmlhttp**1**.readyState == 4) && (xmlhttp**1**.status == 200))
        {
            //alert(kode);
             document.getElementById("code2").innerHTML = xmlhttp**1**.responseText;
        }
        return false;
    }
    xmlhttp**1**.send(null);
}
为了解决我的问题,我创建了两个不同的xmlhttp。(xmlhttp和xmlhttp1)。

在function1()末尾调用function2()


将两个函数调用封装在一个函数中并调用该函数

function myFirstFunction() {
   //body
}

function mySecondFunction() {
   //body
}

//Call this guy.
function myWrappedFunction() {
   myFirstFunction();
   mySecondFunction();
}

查看我提供的链接,您管理
xmlhttprequest
对象的方式似乎有问题,请正确管理它们的实例,在您的情况下,因为您对两个同时发生的AJAX请求使用相同的
xmlhttprequest
,所以只有一个得到了服务。要么等待其中一个得到服务,要么创建
xmlhttprequest
的两个实例


语句
xmlhttp.readystate=function(){…}
显然替换了
xmlhttprequest
对象的
readystate
属性,因此在第二个被替换的函数上(因为您对这两个对象都使用了
xmlhttprequest
)。这就是为什么您会看到这种有趣的行为。

您是否在任何函数上看到任何JavaScript错误?@ShashankKadne Hummm。。我不知道它是否调用了错误,我在firebug中看到,它说(函数的结果)函数1“中止(所有字体都是红色,表示没有响应,没有结果),函数2”“(这是一个get响应,确实有结果)。就是这样!我很困惑(,=)”a.看看错误控制台(工具>错误控制台)中是否有错误没有任何错误,只是在控制台中得到了我上面提到的两个结果。我不知道你的浏览器中发生了什么,它应该按照你提到的方式工作。试着这样做,如果没有。。。你知道我的意思。我遵循了你的代码,什么都没有发生(T__;T)~两个函数都没有正常工作。在每个函数定义的第一行放一个警报,这将确保函数确实被调用。现在,您应该在服务器中查找一些有趣的行为。还可以尝试在函数定义中为
onreadystatechange
回调添加
警报(xmlhttp.readyState)
,并查看状态代码。是否为每个请求创建新的xmlhttprequest?请发布您的函数,我尝试了一个简单的警报()示例中有两个函数,它可以正常工作。@Boris在函数中,我使用了Ajax。看看我的帖子。试着调试一下你的函数,我相信你的函数中有一个有问题。它是有效的,纳夫尼思先生。我创建了两个xmlhttp(xmlhttp和xmlhttp1)将其放在每个函数上。这就是它的工作原理。谢谢你,纳夫尼思先生。
function myFirstFunction() {
   //body
}

function mySecondFunction() {
   //body
}

//Call this guy.
function myWrappedFunction() {
   myFirstFunction();
   mySecondFunction();
}