onClick的Javascript 2函数只运行最后一个

Javascript 2 functions for onClick only run last one

本文关键字:运行 最后一个 函数 Javascript onClick      更新时间:2023-09-26

我在使用AJAX时遇到问题。通过onclick事件调用的2个函数在两个div中发布每个值切换AJAX和返回数据。如果只在一个onclick中放入一个函数。它运行良好。但放入2,只运行最后一个ajax2('".$data."','".$num2."');。问题出在哪里?

echo "<a OnClick='"ajax1('".$data."','".$num1."');ajax2('".$data."','".$num2."');'">" click </a>";

两个js代码,函数相似。只是函数号、处理页面和ruturn-div不一样。

功能1

function ajax1(data,number) {
      HttPRequest = false;
      if (window.XMLHttpRequest) {
         HttPRequest = new XMLHttpRequest();
         if (HttPRequest.overrideMimeType) {
            HttPRequest.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) {
         try {
            HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      } 
      }
        var url = 'page1.php';
        var pmeters = "data=" + data + "&number=" + number;
        HttPRequest.open('POST',url,true);
        HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        HttPRequest.send(pmeters);
        HttPRequest.onreadystatechange = function()
        {
             if(HttPRequest.readyState == 4) 
              {
               document.getElementById("return1").innerHTML = HttPRequest.responseText;                 
              }
        }
   }

功能2

function ajax2(data,number) {
      HttPRequest = false;
      if (window.XMLHttpRequest) {
         HttPRequest = new XMLHttpRequest();
         if (HttPRequest.overrideMimeType) {
            HttPRequest.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) {
         try {
            HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      } 
      }
        var url = 'page2.php';
        var pmeters = "data=" + data + "&number=" + number;
        HttPRequest.open('POST',url,true);
        HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        HttPRequest.send(pmeters);
        HttPRequest.onreadystatechange = function()
        {
             if(HttPRequest.readyState == 4) 
              {
               document.getElementById("return2").innerHTML = HttPRequest.responseText;                 
              }
        }
   }

将两个函数的第一行更改为var HttPRequest = false;。这使得httprequest对每个函数都是私有的。