Problem: Navigation mit JavaScript

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

  • Problem: Navigation mit JavaScript

    Hilfe!
    Ich habe zu Hause eine Seite gebaut, die man mit einem Link wieder verlassen soll.
    Das ganze funktioniert im Mozilla und in IE 6.0, aber nicht bei uns in der Firma, wo wir den IE 5.0 haben.
    Könnt ihr mir sagen, wieso nicht?

    Hier die Auszüge aus dem Code:

    ---------------------------------------------------------------------------------
    <script>
    function modified() {
    document.eingabeform.geaendert.value = 1;
    }

    function isModified() {
    if (document.eingabeform.geaendert.value == 1) return true;
    else return false;
    }

    function pruefung() {
    if (isModified() == true) {
    alert ("Die Änderungen erst speichern!");
    return false;
    }
    else if (document.eingabeform.einTextfeld.value == "") {
    alert ("Erst einen Wert eingeben!");
    return false;
    }
    else return true;
    }

    function zurueck()
    {
    if (pruefung() == false) return false;
    else [COLOR=darkred]location.href="main.php?param1=wert1..."[/COLOR] ;
    }
    </script>

    <form ... >
    <input type="text" name="einTextfeld">
    <input type="hidden" name="geaendert" value="0">
    <textarea name="message" onChange="JavaScript:modified();"></textarea>
    </form>

    <a href="#" onclick="return zurueck();">zurück</a>
    ---------------------------------------------------------------------------------

    Mit einem Klick auf den zurück-Link geht es zurück auf die Seite main.php, wenn die textarea nicht modifiziert wurde, und wenn in das textfeld etwas eingegeben wurde (die Logik wurde für diesen Beitrag stark vereinfacht! Deshalb erscheint das ganze vielleicht etwas sinnlos, aber den kompletten Code würde sich bestimmt keiner anschauen wollen).

    Wieso geht das mit dem IE 5.0 nicht, aber im IE 6.0?
    Bin am verzweifeln...
    Zuletzt geändert von Miroculix; 14.10.2002, 11:51.
    www.mi-ro.net

  • #2
    Weil sich vom IE 5.0 zum IE 5.5 und höher die DOM (Data Objekt Model) geändert hat und du somit alte Javascripts nicht mehr in den neuen Browsern und neue Scripte nicht mehr in den alten Browsern darstellen kannst.....soviel zur Standardisierung.... prüfe einfach mal nach ob du Befehle etc verwendet hast die der alte Browser nicht versteht...

    Kommentar


    • #3
      Sind die oben genannten Kommandos denn so neu?!
      Ich habe leider kein vernünftiges Handbuch, wo drin steht, welcher Befehl in welcher Version funktioniert.
      Was sagst du denn zu meinem Code? Ist doch wirklich nicht zu abgedreht, oder?
      www.mi-ro.net

      Kommentar


      • #4
        guck am besten mal im Selfhtml
        kenne mich selber mit JavaScript nicht so gut aus...habe das aber an meiner alten Navigation gemerkt die in den neuen Browsern entweder gar nicht mehr dargestellt (Netscape) wurde oder nur noch sehr schwierig bedienbar war (IE)

        Kommentar


        • #5
          selfhtml 8.0

          (SelfHTML ist ja klasse!)

          Habe gerade bei SelfHTML gesehen, dass es vielleicht
          window.location.href="..."
          heißen muss.

          Sollte es etwa sein, dass der alte IE mit
          location.href="..."
          nichts anfangen kann?!


          Und wie muss ich das machen, wenn nur der Frame main in meinem Frameset ersetzt werden soll?
          [COLOR=royalblue]<frameset>
          <frame kopfzeile>
          <frame main>
          </frameset>[/COLOR]

          vorher hatte ich parent.location.href="...", als ich noch den Frameset ersetzen wollte. Jetzt soll die Kopfzeile aber erhalten bleiben.

          Hat jemand sowas im Einsatz?
          Zuletzt geändert von Miroculix; 14.10.2002, 11:45.
          www.mi-ro.net

          Kommentar


          • #6
            Re: Problem: Navigation mit JavaScript

            <form ... >
            <input type="text" name="einTextfeld">
            <input type="hidden" name="geaendert" value="0">
            <textarea name="message" onChange="JavaScript:modified();"
            </form>
            mach erstmal deine textarea richtig wieder zu:

            <textarea name="message" onChange="JavaScript:modified();"></textarea>

            function pruefung() {
            if (isModified() == true) {
            alert ("Die Änderungen erst speichern!");
            return false;
            }
            else if (document.eingabeform.einTextfeld.value != "") {
            alert ("Erst einen Wert eingeben!");
            return false;
            }
            else return true;
            }
            die logik kapiere ich nicht ganz...
            if (document.eingabeform.einTextfeld.value != "") {
            alert ("Erst einen Wert eingeben!");

            wenn value != "" ist, heisst das doch, das ein wert eingegeben wurde - und da sagst dann, das einer eingegeben werden soll?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Sorry...

              Hast recht.
              Das ist mir passiert, weil ich die Logik für das Forum etwas zusammenschrumpfen musste (sind ansonsten 5 Seiten, weil viel PHP drumrum). Und das textarea Feld ist im Original auch zu.

              Werde das im ersten Posting mal korrigieren, um nicht noch mehr Leute zu verwirren.
              Danke dir!

              ----
              Ich verstehs einfach nicht, zumal es in diesem Thread genauso gemacht wird (oder doch nicht=?!)
              Zuletzt geändert von Miroculix; 14.10.2002, 11:57.
              www.mi-ro.net

              Kommentar


              • #8
                Re: Sorry...

                vielleicht beschreibst du mal ein bisschen genauer, was es denn machen soll, und was daran nicht funktioniert. ich blicke noch nicht ganz durch...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Das ganze wird ein Homepage-Baukasten, mit dem man online eine Seite erstellen kann (mit Bildern, die man hochladen kann, Links usw.)

                  Es gibt eine große textarea, in der man Text eingeben kann. Dann gibt es jede Menge Links, die man anklickt, worauf in die textarea Text eingefügt wird.

                  Es gibt das hidden-Feld, das ich wie eine Globalvariable benutze, und das speichert, ob das Eingabefeld modifiziert wurde (onChange=modify).

                  Und schließlich gibt es den Link, mit dem ich zurück auf die Hauptseite (main.php) verzweige. Dieses Verzweigen soll nur erlaub sein, wenn das Textfeld nicht modifiziert wurde - ansonsten muss vorher der Speichern-Knopf gedrückt werden (submit).

                  Eigentlich ist der Code nicht schwer zu verstehen. Und er müsste korrekt sein. Ich fürchte nur, er ist nicht kompatibel! Und deshalb wollte ich einen JavaScript-Spezialisten bitten, sich den Code mal anzuschauen...

                  ---
                  was nicht funktioniert? Der zurück-Link reagiert unter IE 5.0 nicht. Unter IE 6.0 und Mozilla funzt es problemlos.
                  www.mi-ro.net

                  Kommentar


                  • #10
                    Re: Problem: Navigation mit JavaScript

                    probier's mal so:

                    Code:
                    function zurueck()
                    {
                    [b]   if (pruefung() == true) location.href="main.php?param1=wert1...";[/b]
                    }
                    </script>
                    
                    <form ... >
                    <input type="text" name="einTextfeld">
                    <input type="hidden" name="geaendert" value="0">
                    <textarea name="message" onChange="JavaScript:modified();"></textarea>
                    </form>
                    
                    [b]<a href="javascript:zurueck();">zurück</a>[/b]
                    die funktion zurueck lässt du gar keinen wert zurückgeben, sondern nur die seite wechseln, wenn pruefung true ergibt.

                    und aufrufen tust du zurueck nicht über onclick, sondern direkt im href des links.


                    p.s.: javascript latürnich zusammenschreiben, das blöde forum hier schreibt das manchmal auseinander.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Aha!

                      Das kommt davon, wenn man den Code (und somit auch die Fehler) irgendwo kopiert...

                      Vielen Dank! Muss ich zu Hause gleich ausprobieren!!! Hört sich vielversprechend an...

                      P.S. Und ich habe mich schon gefragt, wieso ich "java script" auseinander geschrieben hatte!
                      www.mi-ro.net

                      Kommentar

                      Lädt...
                      X