JS variable ausgeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • JS variable ausgeben

    Ich möchte an einer bestimmten Stelle meines HTML Codes eine JS Variable ausgeben (wie bei PHP mit echo). Dazu habe ich im Header folgendes stehen:

    Quellcode

    1. <script type="text/javascript">
    2. var sort = "Dummy";
    3. function name() {
    4. sort = "Name";
    5. }
    6. </script>


    Dann habe ich einen Button den ich mit einem onklick versehen habe:

    Quellcode

    1. <td class="bold"><input type="button" value=" Name " style="width: 100%; background-color: #bbb;" onclick="name();"></td>


    Und weiter unten gebe ich alles aus:

    Quellcode

    1. <script language="JavaScript">document.write(sort);</script>


    Aber es steht dort weiterhin "Dummy". Der Text wird beim klicken nicht geändert.
  • Das wird so glaube ich nicht gehen! ;)

    Musst du die Ausgabe mit document.write tätigen? Ich würde dir die Ausgabe wie folgt empfehlen ...

    Quellcode

    1. <span id="sort.text">Dummy</span>


    Und den von dir gelieferten Code wie folgt abändern ...

    Quellcode

    1. <script type="text/javascript">
    2. function name() {
    3. document.getElementById('sort.text').innerHTML = 'Fred Flinstone';
    4. }
    5. </script>


    So um den Dreh! ;)
  • Der Text wird beim klicken nicht geändert.
    Klar. Das document.write wird einmalig beim Laden der Seite ausgeführt und danach nicht wieder. document.write() ist sowieso eher selten nützlich, da es nur während dem Laden der Seite aufgerufen werden kann (ansonsten wird eine neue Seite erstellt).
    Bessere Version: siehe Vorposter.
  • Danke für den Code. Wenn ich es so mache wie du schreibst, dann klappt es nicht. Beim klicken auf den Button passiert nichts. Wenn ich aber bei onklick statt den Funktionsnamen "name()" den direkten JS Code eingebe (onClick="document.getElementById('sort.text').innerHTML = 'Name';") funktioniert es. Warum auch immer.