Announcement

Collapse
No announcement yet.

JavaScript

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JavaScript

    Ich weiß nicht, ob ich hier im Forum richtig bin, aber wer kann, kann mir bitte helfen.

    Wie kann man in einem JavaScript eine Variable (var) die sich außerhalb einer funktion befindet per function chage() ändern?

    <script type="text/javascript">
    var wert = "";

    function change(text)
    {

    return var = text;

    }

    //Die Funktion aufrufen
    change(1);

    </script>

  • #2
    1.:

    var wert = '';

    function change(text)
    {
    // text bearbeiten

    return text;
    }

    wert = change(wert);

    2.:
    var wert = '';
    function change(text)
    {
    wert = text;
    }
    change('text');

    Je nachdem was genau du vor hast

    Comment


    • #3
      Danke. So weit war ich auch schon mal. Mein Problem liegt im folgenden:

      ich habe zwei dateien:

      1. script.js:

      var wert = '';

      function change(text)
      {
      wert = text;
      }

      window.open(wert);

      ___________________________
      2. index.htm:

      </script>
      <script language=JavaScript src="script.js">
      </script>

      <SCRIPT language="Javascript">

      change('text44');

      </SCRIPT>

      ___________________________________-
      Wenn ich nun die index.htm aufrufe, wird zwar die change() funktion ausgeführt, aber der wert wird nicht mit übergeben. woran liegt dies

      Comment


      • #4
        Hast du nach dem Funktionsaufruf mal ein alert(wert) gemacht? Dann solltest du eigentlich "text44" angezeigt bekommen

        Comment


        • #5
          Ja, in der index.htm funktioniert es. Wenn jedoch in der script.sj window.open() aufgerufen wird, ist alles leer

          Comment


          • #6
            Jetzt verstehe ich nicht wirklich, was du meinst. Kannst du das an einem Beispiel näher erläutern

            Comment


            • #7
              Hallo Xabbuh,

              erst mal danke für die Mühe und Hilfe. Ich erkläre nochmals mein Problem.

              Ich binde die Script.js Datei in die index.htm ein und rufe in der index.htm die Funktion change(wert) auf. Nun wird der wert der Funktion change() in der JavaScript Datei übergeben.

              Wenn ich nun in der JavaScriptdatei den Wert abfrage z.b. durch window.open(wert) funktioniert das auch super. NUR: Wenn die Variable außerhalb der Funktion ist. Also sich z. B. am Ende befindet, wird diese Veriable nicht geändert.

              Beispiel nochmal:

              1. script.js:

              var wert = '';

              function change(text)
              {
              wert = text;
              }

              window.open(wert); <-- HIER IST DAS PROBLEM***
              ___________________________
              2. index.htm:




              change('text44');

              ___________________________________

              ** der wert bei window.open wird nicht geändert (da sich wert außerhalb von der change funktion befindet). Meine Idee war auch schon

              function change(text)
              {
              var i = text
              wert = i;
              }

              window.open(wert);

              Doch der wert außerhalb der Change-funktion ändert sich nicht ist immer LEER (wie gestartet var wert = '';

              Comment


              • #8
                Wenn du den Aufruf von window.open() in der index.htm vornimmst, nachdem du die Funktion change() aufgerufen hast, solltest es funktionieren. In deinem Beispiel wird window.open() aufgerufen, bevor die Funktion change() aufgerufen wird. Aus diesem Grund hat wert als Wert auch nur eine leere Zeichenkette.

                Beispielcode:
                script.js:
                var wert = '';
                function change(text)
                {
                wert = text;
                }

                index.htm
                change('text44');
                window.open(wert)

                Comment

                Working...
                X