Brauser hängt

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

  • Brauser hängt

    Hallo,
    ich möchte Navigationsmenu machen.
    Dafür habe ich diese Funktion rausgedacht, bei erste Durchlauf
    funktioniert alles so wie es sein soll, aber bei nextes mal hängt
    d Brauser .
    Hier kann man das sehen http://2.studenten-archiv.de/fast/



    PHP-Code:
    function catid_bestimmen(a){
        
        
    document.write('<br>');
        
    document.write('<select id="fcat" name="fcat" 
    style="position: relative; width: 215px; height: 212px;" size="13" 
    onchange="catid_bestimmen(this.value)">'
    );
        for (var 
    i=1i<catid.lengthi++){
                if (
    subcat[i]==a){ 
                
    document.write('<option value="'+catid[i]+'">'+catid[i]+''+titel[i]+'</option>');
                };
        };
        
    document.write('</select>');

    Zuletzt geändert von papik777; 07.03.2008, 15:30.

  • #2
    Schaue dir doch den Quellcode im Firefox über die Fehlerconsole mal an. Du hast beim 2. Mal die js-Datei nicht eingebunden, daher ist die Funktion: catid_bestimmen nicht vorhanden.

    Kommentar


    • #3
      OffTopic:
      Es heißt "Browser"
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Kommentar


      • #4
        Ich habe gedacht, dass wenn ich ein mal so
        PHP-Code:
        <script type="text/javascript" src="cat_function.js"></script
        eingebundet habe dann ist das für immer eingebundet

        Offensichtlich verstehe ich ganzen Verlauf falsch. Wie und warum muss man noch mal js - Datei einbinden.
        HPH Datei :
        PHP-Code:

        <script type="text/javascript" src="cat_function.js"></script>
        <
        br>
        <
        script type="text/javascript">

            
        document.write('<select id="fcat" name="fcat" 
        style="position: relative; width: 215px; height: 212px;" 
        size="13" onchange="catid_bestimmen(this.value)">'
        );
                for (var 
        i=1i<catid.lengthi++){
                        if (
        catid[i]==1){ 
                            
        document.write('<option value="'+catid[i]+'">'+titel[i]+'</option>');
                            };
                };
            
        document.write('</select>');

        </
        script>


        </
        body>
        </
        html
        javascript Datei :
        PHP-Code:


        function catid_bestimmen(a){
            
            
        document.write('<br>');
            
        document.write('<select id="fcat" name="fcat" 
        style="position: relative; width: 215px; height: 212px;" 
        size="13" onchange="catid_bestimmen(this.value)">'
        );
            for (var 
        i=1i<catid.lengthi++){
                    if (
        subcat[i]==a){ 
                    
        document.write('<option value="'+catid[i]+'">'+catid[i]+''+titel[i]+'</option>');
                    };
            };
            
        document.write('</select>');

        Zuletzt geändert von papik777; 07.03.2008, 15:31.

        Kommentar


        • #5
          Ohne dir da zu nahe treten zu wollen, aber dein Quellcode ist echt schaurig. Hast du dir mal angesehen, was du dir da zusammenprogrammiert hast? Als Browser würde ich da auch durcheinander kommen.

          Am Besten du schaust dir noch mal
          http://de.selfhtml.org/html/allgemein/grundgeruest.htm
          an, und dann
          http://de.selfhtml.org/javascript/in...scriptbereiche

          Besonderes Augenmerk solltest du auf den Kopfbereich, den Körperbereich (<body>) und den Gebrauch von Script-Tags richten. Das ist in den Links eigentlich alles gut erklärt. Aber das Durcheinander von deiner Beispielseite weigere ich mich durchzusehen.

          Wenn du deinen Code überarbeitet hast, und es dann immer noch nicht funktioniert, schauen wir mal weiter.

          Nur so am Rande: Eingebunden, nicht eingebundet

          Kommentar


          • #6
            Eigentlich ist die Lösung viel einfacher....
            document.write, wenn nicht bei der Erstellung des Dokumentes benutzt erstellt einen neuen dokumentabschnitt in dem deine variabeln catid[x] nicht definiert sind.

            http://de.selfhtml.org/navigation/su...hanfrage=write <-- schau mal "Beachten Sie"

            für sowas wie du es vorhast nimmt man normalerweise eher innerHTML oder replaceChild()

            Kommentar


            • #7
              Mit javascript beschäftige ich seit 3 tage, also für mich das alles ziemlich neu vielleicht kann mir jemand helfen diese Problem zu lösen

              Kommentar


              • #8
                Ja, schon, nur bei welchem Problem?

                Dem hinzufügen von Optionen zu einer Select-Liste, dem Einbinden von Javascript-Dateien und -bereichen in HTML - Seiten, oder ...

                Du musst schon eine konkrete Frage stellen, oder dein Problem besser umschreiben.

                Vielleicht erzählst du einfach noch einmal, was du machen möchtest, denn bisher weiss ich nur

                ... ich möchte Navigationsmenu machen. ...
                und dazu braucht man weder Select-Listen, noch Javascript.

                Kommentar


                • #9
                  Vielleicht hilft dir das ja schon auf die Sprünge. Ich habe das Beispiel zusammengestell, in der Hoffnung, dass dir Elemente daraus weiterhelfen können.

                  Dennoch würde ich die Lektüre von http://de.selfhtml.org/javascript/index.htm empfehlen, da werden eigentlich alle deine "Probleme" und Wissenslücken behandelt und auch mit Beispielen! erläutert.

                  Und bitte brich deinen Code in den vorherigen Posts so um, dass man nicht immer scrollen muss, um auf den Antworten - Button drücken zu können.

                  Code:
                  <html>
                  <head>
                  <script type="text/javascript">
                  	function init() {
                  		var selFld = document.getElementById('bla');
                  		var values = new Array('Eins','Zwei','Drei','Vier');
                  		var len = values.length;
                  		
                  		for (var i=0;i<len;i++) {
                  			var opt = new Option(values[i]);
                  			selFld.options[i] = opt;
                  		}
                  		
                  	}
                  	
                  	window.onload = init;
                  </script>
                  </head>
                  <body>
                  	<select id="bla">
                  	</select>
                  </body>
                  </html>

                  Kommentar


                  • #10
                    In DB habe ich Tabelle mit Spalten catid, titel, subcat.
                    Das habe ich in Array für javascript umgewandelt (catid[], titel[], subcat[]).
                    Jetzt möchte ich das benutzen um ein Navigation zu bauen. Navigation soll catid[] von untere Kategorie, die Benutzter
                    auswählt, liefern.


                    Hier ist ganzes PHP Code:


                    PHP-Code:
                    <?


                    $res=mysql_query("select * from dl1_cat ORDER BY catid") or die(mysql_error());
                    while($dat=mysql_fetch_array($res))
                    {
                        

                    $catid[$dat["catid"]]=$dat["catid"];
                    $titel[$dat["catid"]]=$dat["titel"];
                    $subcat[$dat["catid"]]=$dat["subcat"];

                    };

                                        
                                        // php Varisbel in javascript-Variabel umwandeln
                        

                      // Aus PHP $catid in jacascript catid
                    echo "<script type=\"text/javascript\">\n";
                    echo "<!--\n";
                    echo "var catid = new Array();\n";

                    foreach ($catid as $wert)
                    {
                       echo "catid['$wert'] = '$wert';\n";
                    }
                    //echo "alert('catid wert'+catid.length+);\n";
                    echo "//-->\n";
                    echo "</script>\n";   


                     // Aus PHP $titel in jacascript titel
                    echo "<script type=\"text/javascript\">\n";
                    echo "<!--\n";
                    echo "var titel = new Array();\n";

                    foreach ($titel as $key => $wert)
                    {
                       echo "titel['$key'] = '$wert';\n";
                    }
                    //echo "alert(titel.length);\n";
                    echo "//-->\n";
                    echo "</script>\n";   
                            

                    // Aus PHP $subcat in jacascript subcat
                    echo "<script type=\"text/javascript\">\n";
                    echo "<!--\n";
                    echo "var subcat = new Array();\n";

                    foreach ($subcat as $key => $wert)
                    {
                       echo "subcat['$key'] = '$wert';\n";
                    }
                    //echo "alert(subcat.length);\n";
                    echo "//-->\n";
                    echo "</script>\n";   

                    ?>




                    <script type="text/javascript" src="cat_function.js"></script>
                    <br>
                    <script type="text/javascript">

                        document.write('<select id="fcat" name="fcat" 
                    style="position: relative; width: 215px; height: 212px;" 
                    size="13" onchange="catid_bestimmen(this.value)">');
                            for (var i=1; i<catid.length; i++){
                                    if (catid[i]==1){ 
                                        document.write('<option value="'+catid[i]+'">'+titel[i]+'</option>');
                                        };
                            };
                        document.write('</select>');

                    </script>


                    </body>
                    </html>





                    cat_function.js



                    PHP-Code:



                    function catid_bestimmen(a){
                        
                        
                    document.write('<br>');
                        
                    document.write('<select id="fcat" name="fcat" 
                    style="position: relative; width: 215px; height: 212px;" 
                    size="13" onchange="catid_bestimmen(this.value)">'
                    );
                        for (var 
                    i=1i<catid.lengthi++){
                                if (
                    subcat[i]==a){ 
                                
                    document.write('<option value="'+catid[i]+'">'+catid[i]+''+titel[i]+'</option>');
                                };
                        };
                        
                    document.write('</select>');

                    Hier kann man das sehen http://2.studenten-archiv.de/fast/

                    Das ist alles
                    Zuletzt geändert von papik777; 07.03.2008, 15:32.

                    Kommentar


                    • #11
                      Navigation soll catid[] von untere Kategorie, die Benutzter
                      auswählt, liefern.
                      Bitte? Du möchtest subcat[] geliefert bekommen, wenn der Benutzer cat[] im Select - Feld auswählt? Wie möchtest du den Rückgabewert denn verarbeiten? Weiter mit Javascript über Events oder "normal" durch ein Formular (Absenden und Serverseitig weiterverarbeiten)?

                      Auch auf die Gefahr hin, dass ich mich wiederhole, aber bitte brich deinen Code um, so dass man nicht mehr horizontal scrollen muss um dir zu antworten!

                      Wenn ich mir deinen Code so anschaue, solltest du, bevor du an deine Javascript Probleme gehst, zusehen, dass du anständigen HTML - Code erzeugst. Du musst nicht für jede Javascript Variable, die du über PHP erzeugst, auch einen neuen Script Block erzeugen, das ist eher hinderlich.

                      Für das erste hast du eigentlich schon genug Hinweise in den Antworten hier gefunden, jetzt ist es an dir, erst mal die Hinweise zu verstehen, und deinen Code entsprechend anzupassen. Nur als Hinweis: Schau dir mal den Quelltext deiner generierten Seite an - Wenn der einigermassen OK ist, können wir weiterreden.

                      Kommentar

                      Lädt...
                      X