cr: Ajax Anfängerverständnisfrage -> mehrere funktionen

Hallo,

ich habe mir aus dem Netz dieses ajax script kopiert.

// Get the HTTP Object  
function getHTTPObject(){  
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");  
else if (window.XMLHttpRequest) return new XMLHttpRequest();	  
else {  
alert("Your browser does not support AJAX.");  
return null;  
}  
}  

// Change the value of the outputText field  
function setadressbucheintraege(){  
if(httpObject.readyState == 4){  
document.getElementById('adressbuch\_suchname\_ausgabe').innerHTML = httpObject.responseText;  
}  

}  

// Implement business logic  
function sucheadressbuch\_suchname(){  
httpObject = getHTTPObject();  
if (httpObject != null) {  
httpObject.open("GET", "include/ajax\_adressbuchsuche.php?adressbuch\_suchname="  
+document.getElementById('adressbuch\_suchname').value, true);  
httpObject.send(null);  
httpObject.onreadystatechange = setadressbucheintraege;  
}  
}  

var httpObject = null;  

wenn ich nun mehrere dieser aufrufe realisieren möchte, klappt das leider nicht indem ich einfach weitere function ..() hinzufüge...

wie mach ich das bzw auf was muss ich achten wenn ich mehrere function ainbinden möchte?

  1. Grüße,

    wenn ich nun mehrere dieser aufrufe realisieren möchte, klappt das leider nicht indem ich einfach weitere function ..() hinzufüge...

    wie mach ich das bzw auf was muss ich achten wenn ich mehrere function ainbinden möchte?

    AJAX, das asynchrone arsch, kann man mit nur einer eventready function belegen - die kann dann zwar unterscheidung machen, aber im allgemeinen bsit du mit kapselung besser bedient. bastle dir eine classe und gut ist.

    ggf. grundlagen von JS bei de.selfhtml.org nachlesen.
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth
    1. AJAX, das asynchrone arsch, kann man mit nur einer eventready function belegen - die kann dann zwar unterscheidung machen, aber im allgemeinen bsit du mit kapselung besser bedient. bastle dir eine classe und gut ist.

      kannst du mir ein simples beispiel geben, ich verstehe das noch nicht wirklich.

      danke

  2. Hallo,

    wenn ich nun mehrere dieser aufrufe realisieren möchte,

    Was für Aufrufe? Meinst du XMLHttpRequest-Anfragen?

    klappt das leider nicht indem ich einfach weitere function ..() hinzufüge...

    Wo hast du versucht, eine Funktion hinzuzufügen? Zeige mal bitte den Code deines Versuchs und beschreibe, was daran nicht geklappt hat.

    wie mach ich das bzw auf was muss ich achten wenn ich mehrere function ainbinden möchte?

    Wo genau, an welcher Stelle willst du mehrere Funktionen einbinden?
    Bitte beschreibe einmal, was der Code machen soll im Vergleich zur bisheriger Funktionalität.

    Grüße,
    Mathias

    1. Wo hast du versucht, eine Funktion hinzuzufügen? Zeige mal bitte den Code deines Versuchs und beschreibe, was daran nicht geklappt hat.

      // Get the HTTP Object  
      function getHTTPObject(){  
      if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");  
      else if (window.XMLHttpRequest) return new XMLHttpRequest();	  
      else {  
      alert("Your browser does not support AJAX.");  
      return null;  
      }  
      }  
      
      // Change the value of the outputText field  
      function setadressbucheintraege(){  
      if(httpObject.readyState == 4){  
      document.getElementById('adressbuch\_suchname\_ausgabe').innerHTML = httpObject.responseText;  
      }  
      
      }  
      
      // Change the value of the outputText field  
      function setadressbuch\_detailansicht(){  
      if(httpneuerrequest.readyState == 4){  
      document.getElementById('adressbuch\_detailansicht\_ausgabe').innerHTML = httpneuerrequest.responseText;  
      }  
      
      }  
      
      // Implement business logic  
      function sucheadressbuch\_suchname(){  
      httpObject = getHTTPObject();  
      if (httpObject != null) {  
      httpObject.open("GET", "include/ajax\_adressbuchsuche.php?adressbuch\_suchname="  
      +document.getElementById('adressbuch\_suchname').value, true);  
      httpObject.send(null);  
      httpObject.onreadystatechange = setadressbucheintraege;  
      }  
      }  
      
      var httpObject = null;  
      
      // Implement business logic  
      function adressbuch\_detailansicht(){  
      httpneuerrequest = getHTTPObject();  
      if (httpneuerrequest != null) {  
      httpneuerrequest.open("GET", "include/ajax\_adressdetailansicht.php?adressbuch\_detailansicht="  
      +document.getElementById('adres').value, true);  
      httpneuerrequest.send(null);  
      httpneuerrequest.onreadystatechange = setadressbuch\_detailansicht;  
      }  
      }  
      
      var httpneuerrequest = null;  
      

      ich möchte eben 2 functionen haben. mit der einen soll das adressbuch nach namen ausgelesen werden, in der zweiten sollen bei onclick auf diese namen die function detailansicht aufgerufen werden...

      danke für deine hilfe!