Wieso kann ich ein Array nicht in einer externen Datei füllen?

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

  • Wieso kann ich ein Array nicht in einer externen Datei füllen?

    Hallo,

    ich möhte mit Ajax ein Array mit inhalten füllen.

    Die Ajax Datei wird ganz nomal aufgerüfen und übergibt auch werde mit innterHtml, allerdings soll ein array übergeben werden. Aber Firebug zeigt mir an, das das Array undefinert ist.

    dies ist der Teil aus der Ajax datei in der das Array gefüllt wird:

    PHP-Code:
            function successHandler(txt,xml)
            {        
            
                    
    tab=new Array();               
                          
    tab[0] = txt;
                          
    tab[1] = txt;
            } 
    Dieses Array soll in der Ausgangs HTML Datei angezeit werden. Wie kann ich das den machen, das ich das Array in der Ausgangdate benutzen kann?

    ich gebe es eigentlich so aus:

    PHP-Code:
    document.write('<div>'+tab+'</div>'); 
    wenn ich das array in der gleichen Date fülle, also es nicht extern gefüllt wird, funktioniert es.

    wieso geht das extern nicht?

    danke im voraus..

  • #2
    Das Array kann nur in der Datei angezeigt werden, die die Funktion successHandler(txt,xml) aufruft! Ansonsten musst du die Array Var ausserhalb der Funktion d.h. im globalen Bereich des JS definieren.
    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


    • #3
      Wenn ich die Variable ausserhalb der Funktion definiere, bekomme ich jetzt zwar keinen fehler, aber das array wird in der funktion nicht gefüllt, obwohl die funktion aufgerüfen wird.

      wie kann ich es den in der funktion füllen.

      Kommentar


      • #4
        Code:
        ArrayObjekt.push('wert');
        klappt ned?
        Wenn ich die Variable ausserhalb der Funktion definiere, bekomme ich jetzt zwar keinen fehler, aber das array wird in der funktion nicht gefüllt, obwohl die funktion aufgerüfen wird.
        Testausgaben? Was ergibt denn
        Code:
        alert(ArrayObjekt.length);
        ?
        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


        • #5
          irgend wie klappt es nicht.. ich glaube ich habe es falsch angewandt.

          PHP-Code:

                            tab
          =new Array(); 
              function 
          successHandler(txt,xml)
                  {            

                          
          tab.push('lalalalla');
                           
          alert(tab.length);  
                  } 
          Fehler: tab.push is not a function
          [Break on this error] tab.push('lalalalla');

          Kommentar


          • #6
            Das folgende funzt bei mir einwandfrei
            Code:
            <html>
            <head>
            <script type="text/javascript">
            <!--
            var test = new Array();
            function bla(str){
              test.push(str);
              alert(test.length);
            }
            -->
            </script>
            </head>
            <body>
            <a href="#" onclick="bla('blabla');return false;">Link</a>
            </body>
            </html>
            Welchen Browser in welcher Version verwendest du?
            Ansonsten könntest du noch das probieren
            Code:
            ArrayObjekt[ArrayObjekt.length] = 'wert';
            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


            • #7
              ich benutze FF3 und IE7

              wieso lauft das den bei mir nicht? ich habs doch genau so..

              Kommentar


              • #8
                Wieso kann ich ein Array nicht in einer verschachtelten Funktion füllen?

                Hallo,

                ich möchte über Ajax ein Array füllen.. das funktioniert aber nicht.
                Die Ajax Datei ist Extern und wird durch die Funktion load() aufgerufen. die Antwort ist in successHandler() die in der load() funktion ist.

                hier der Code.

                PHP-Code:
                //Instanz der Klasse Ajax erzeugen und mit der Datenübertragung starten
                function load()
                {        
                    
                        
                //tNews[0] = 'hallo';                                       
                    

                        
                with (new Ajax())
                        {
                            
                //url= WEBurl + "adds.php";
                            
                url="ajax/adds.php";
                            
                method="POST";
                            
                //params="datum="+datum+"&zeit="+zeit;
                            
                params="";
                            
                onSuccess=successHandler;
                            
                onError=errorHandler;
                            
                doRequest();
                        }
                      
                      
                        
                //Den Text in die Seite einfügen
                        
                        
                function successHandler(txt,xml)
                        {                          
                                                                   
                                    
                tNews[0] = 'hallo';
                                    
                        }
                    
                        
                //Fehler
                        
                function errorHandler(msg)
                        {
                          
                alert("fehler in suggest1");
                        }

                Das auskomentierte Array nach load() funktioniert einwand frei.. aber das selbe array in successHandler() geht nicht, weil die funktion in der funktion load() ist..

                wie kann ich das lösen, das das array gefüllt wird?

                danke im voraus!

                Kommentar


                • #9
                  Wo definierst du das array?

                  mfg

                  Kommentar


                  • #10
                    ich denfinier es in der datei, wo load() aufgerufen wird.

                    Kommentar


                    • #11
                      Innerhalb einer anderen function oder im globalen Bereich?

                      Btw: was sagt die firefox-konsole?

                      mfg

                      Kommentar


                      • #12
                        im globalen bereich..

                        firefox bzw. firebug gibt auch keinen fehler aus.. wenn ich ein alert in successHandler mache, wird er auch ausgegeben.. aber das array bekommt keinen wert...

                        Kommentar


                        • #13
                          Wie hast du überprüft, ob es nicht gefüllt wurde? bzw. wo^^..

                          Im Moment denk ich nur an lokal/global ...

                          mfg

                          Kommentar


                          • #14
                            naja.. ausserhalb der funktion successHandler().. also innerhalb con load() wird das array gefüllt und auch ausserhalb von load() ausgegeben. aber innerhalb von successHandler() wird das array nicht gefüllt.. also auch nichts ausgegeben...

                            Kommentar


                            • #15
                              wenn ich ein alert mit der array variable im successHandler mache, wird undefined ausgegeben...

                              Kommentar

                              Lädt...
                              X