Problem mit änderung einer Variable

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

  • Problem mit änderung einer Variable

    Hi @ all

    Ich habe ein Problem: Und zwar möchte ich eine Variable, die im oberen Teil des Scriptes definiert ist auf Link Druck ändern und ein Layer anzeigen der diese Variable ausgibt:

    PHP-Code:
    <style

    .
    standartLayer
    {
        
    position:absolute
        
    left:1px;
        
    top:1px
        
    width:150px
        
    z-index:1
        
    visibilityhidden;
    }


    </
    style>
    <
    script>
    <!--

    var 
    TestVar;

    function 
    showLayer()
    {
       
       eval(
    'document.all["TestLayer"].style.visibility = "visible"'); 

    }
    //-->
    </script>


    <
    div id="TestLayer" class="standartLayer"
    <
    script type="text/javascript" language="JavaScript">
    <!--
    document.write(TestVar); 
    //-->
    </script>
    </
    div>

    <
    a href="#" onclick="TestVar='Dies ist Text', showLayer()">Hier KLicken</a
    Aber das Funkctioniert nicht! Warum?

    (Ausgabe: undefinierte Variable (DE) [Original auf Eng] )

    Thx
    Pat-ro

  • #2
    du schreibst die var ja bereits in den layer rein. und zu dem zeitpunkt ist die var eben undefiniert.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Ist ja logisch. Aber bevor ich den Layer aufrufe änder ich die Variable doch!

      Aber geht woll nicht so.

      Gibt es eine Möglichkeit dies zu realisieren? (So das es dann Funktioniert)

      Thx
      PAt-ro

      Kommentar


      • #4
        Original geschrieben von Pat-ro
        Ist ja logisch. Aber bevor ich den Layer aufrufe änder ich die Variable doch!
        was du machst.... du definiert eine varaible ohne inhalt. du schreibst sie in das div rein. und änderst dannach den inhalt der var. (geschrieben ist sie aber schon) anschliessend blendest du den layer ein.


        als anregung.

        Code:
        <script>
        <!--
            function placetext(text)
            {
                document.getElementById("nurtest").value = '<p>'+text+'</p>';
            }
        //-->
        </script>
        
        <a href="#" onclick="placetext('text 1')">text 1</a>
        <a href="#" onclick="placetext('text 2')">text 2</a>
        <a href="#" onclick="placetext('text 3')">text 3</a>
        <a href="#" onclick="placetext('text 4')">text 4</a>
        <a href="#" onclick="placetext('text 5')">text 5</a>
        
        <textarea name="nurtest"></textarea>
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Danke...

          ...aber habe noch eine bessere Lösung gefunden: Man lässt den Layer einfach weg und schrib anstatt einfach diese Funktion:

          PHP-Code:
          function printVariable(Text)    
          {              
                
          document.write(Text);   


          Aber leider zeigt der das in einem neuen Fenster an. Kann man das unterbinden das er es genau an der positzion anzeigt wo es hingehört. Ohne ein sichtbares Text Feld zu verwenden.
          Zuletzt geändert von ; 08.01.2004, 16:09.

          Kommentar


          • #6
            sicher kannst du das so machen. nur sage uns demnächst, dass du den layer nicht zwingend brauchst. dann hätte ich dir das auch geschrieben.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              entweder rufst du document.write schon in der phase auf, während der browser das dokument noch rendert, oder du findest dich damit ab, dass ein späterer aufruf (z.b. über eine funktion, so wie bei dir) das aktuelle dokument löscht, bevor es den neuen inhalt schreibt.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Ok.... Rede ich mal klahr Text

                Ich wollte verschiedene Links anzeigen. Wenn man über die Links fährt wird ein Layer (oder sonstiges) angezeigt der nähere Informationen und Grafiken zum Link anzeigt. (änlich wie Quickinfo). Nun wollte ich nicht für jeden Link eine eigenen Layer erstellen sondern einen generellen Layer der mit Variablen bestükt ist die beim mouseover des Links geändert werden!


                Gibt es eine Möglichkeit dies zu realisieren?

                Thx
                Pat-ro

                Kommentar


                • #9
                  Original geschrieben von Pat-ro
                  Gibt es eine Möglichkeit dies zu realisieren?
                  ja.
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Danke für die schnelle Antwort

                    Jetzt ist meine Frage ob das so wie ich mir das gedacht habe zu realisieren ist oder ob eine andere Technik verwenden muss?


                    Thx
                    Pat-ro

                    Kommentar


                    • #11
                      irgendwo hatte ich ein tut dafür gesehen.

                      aber schaue u.a. mal hier vorbei ....

                      http://hotwired.lycos.com/webmonkey/...ial_index.html

                      ... vielleicht findest du da auch was.
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        Ok! Danke

                        Kommentar

                        Lädt...
                        X