[JavaScript] Ausgabe Problem !

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] Ausgabe Problem !

    Hallo,

    ich habe 3 Dateien.

    http.js
    Code:
    var Http = {
       get: function(uri, callback, onrequest, onresponse) {
          try {
             var http = Http.createInstance();
             http.onreadystatechange = function() {
                if (http.readyState == 4 && http.status == 200 && callback) {
                   callback(http.responseText);
                   if (onresponse) onresponse();
                }
                return true;
             };
             if (onrequest) onrequest();
             http.open("GET", uri, true);
             http.send(null);
          }
          catch(e) {
             window.alert("Http.get: " + e.toString());
          }
          return false;
       },
    
       createInstance: function() {
          var o = null;
          if (!!window.XMLHttpRequest) {
             try { o = new XMLHttpRequest(); } catch (e) { o = null; }
          }
          else if (!!window.ActiveXObject) {
             try {o = new ActiveXObject("Msxml2.XMLHTTP.4.0"); } catch (e) { 
                try {o = new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) { 
                   try {o = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { 
                      try { o = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { 
                         try { o = new ActiveXObject("MSXML.XMLHTTP"); } catch (e) { 
                            try { o = new ActiveXObject("MSXML3.XMLHTTP"); } catch (e) { o = null; }
                         }
                      }
                   }
                }
             }
          }
          return o;
       }
    };

    client01.html
    Code:
    <html>
      <head>
        <title> Rest Client</title>
        <script type="text/javascript" src="http.js"></script>
        <script type="text/javascript">
    	   function callServer(id) {
    	      Http.get("api.php?id=" + id, callback)
    	   }
               function callback(response) {
                  var div = document.getElementById("msg");
                  div.innerHTML = response;
               }
        </script>
      </head>
      <body>
        <h2> Test Client</h2>
        <span onclick="callServer('e1');">Click 1</span>
        <div id="msge2"></div>
        <span onclick="callServer('e2');">Click 2</span>
        <div id="msge1"></div>
      </body>
    </html>

    api.php
    Code:
    <?php
    print("Hello ".$id);
    ?>


    hier möchte ich dass es so ist, wenn ich auf Click 1 klicke, dass Inhalt von api.php?id=e1 in <div id="msge1"></div> gezeigt wird und wenn ich auf Click 2 klicke, dass Inhalt von api.php?id=e2 in <div id="msge2"></div> gezeigt wird. Abe solche Einträge können beliebig sein.


    Könnt ihr sagen, wie ich es so machen kann?

    Danke!!

  • #2
    Re: [JavaScript] Ausgabe Problem !

    Schön, jetzt wissen wir also, was du möchtest.

    Aber wo liegt jetzt dein Problem?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ich habe unten geschrieben.

      Unter jeden Link gibt es ein bestimmtes Gebiet für dieses Link, wo sein Inhalt gezeigt werden soll. funktioniert es jetzt nur wenn es nur ein <div id="msg"></div>... gibt. ich möchte es aber vervielfachen.

      mehrere Zeilen möchte ich und mehrere Gebiete-


      <div id="msge1"></div>
      <div id="msge2"></div>
      <div id="msge3"></div>
      <div id="msge4"></div>

      und 4 verschiedene Links, die gehörige Gebiets betätigt.

      MfG

      Kommentar


      • #4
        Original geschrieben von mydictionary
        ich habe unten geschrieben.
        Nein, hast du nicht.

        Unter jeden Link gibt es ein bestimmtes Gebiet für dieses Link, wo sein Inhalt gezeigt werden soll. funktioniert es jetzt nur wenn es nur ein <div id="msg"></div>... gibt. ich möchte es aber vervielfachen.
        Schon wieder nur das, was du "möchtest".

        Wo - liegt - dein - Problem bei der Umsetzung dieses Vorhabens?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          PHP-Code:
                 function callServer(id) {
                    
          Http.get("api.php?id=" idcallback)
                 }
                     function 
          callback(response) {
                        var 
          div document.getElementById("msg");
                        
          div.innerHTML response;
                     } 
          hier diese funktionen hilft nur wenn ich ein div mit id=msg habe. Die muss ich so machen dass es in jede numerierte div andere inhalte gezeigt wird.

          Können Sie in Funktion sehen. Also was ich möchte, Sie werden verstehen. Was ich habe ist nur für id=msg aber möchte ich das vervielfachen und auf Click 1 klickt man und erhält man Ihhalt unter div mit id=msge1 und wenn ich auf Click 2 klicke dann erhalte ich Inhalt unter div mit id=msge2


          ist immer noch nicht verständlich?=

          Kommentar


          • #6
            Was du möchtest, ist mir schon von Anfang an klar ...


            Derzeit wird immer auf das Element mit der ID "msg" zugegriffen, das Ergebnis dort reingeschrieben.

            Du willst aber jetzt stattdessen auf die Elemente mit den IDs msge1, msge2, ... zugreifen - also ändere die Funktion so, dass sie genau das macht.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              und was hindert dich daran, die funktion um einen parameter zu erweitern und dann entsprechend anzuwenden?
              PHP-Code:
              function callServer(idmsgbox) {
                 ...
                 var 
              div document.getElementById("msg" msgbox); 
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Dann erweitere deine Funktion doch um einen zweiten Parameter der die id des divs festlegt, wo die Ausgabe erfolgen soll.

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  var div = document.getElementById("msg" + msgbox);

                  das hier ist aber nicht unter der Funktion function callServer(id, msgbox) {......

                  deswegen wird msgbox nicht weitergegeben.

                  Ich weiss nicht wie ich eine variable zu callback funktion übergeben kann.

                  Kommentar


                  • #10
                    das kommt davon, wenn man sich fremden code zieht, ohne ihn zu verstehen. du musst die variable msgbox durchschleifen (soweit ich den code überhaupt begreife). also in callServer und callback als zweiten parameter einbauen und dann noch hier
                    PHP-Code:
                    function(uricallbackmsgboxonrequestonresponse
                    und hier
                    PHP-Code:
                    callback(http.responseTextmsgbox); 
                    ansonsten probieren und die fehlerkonsole vom firefox nutzen.

                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar

                    Lädt...
                    X