Matze: geht nich

Hallo!

Angenommen, mit document.write wird ein vorher festgelegter Wert x ausgegeben. Dann wird mithilfe eines Buttons, der eine Funktion aufruft, der Wert x geändert. Aber der ausgegebene Wert ändert sich nicht, selbst wenn man in der Funktion eine erneute Ausgabe von x anordnet. Warum?

<HTML>
<HEAD>
</HEAD>
<script language="JavaScript">

var x = parseInt(10 * Math.random()) + 1; <!-- Zahl von 1 bis 10

function xaendern()
{
x = x + 1;
document.write(x);
}

document.write(x);

</script>

<BODY>

<P>
<input type="button" value="x aendern" onClick"xaendern()">

</BODY>
</HTML>

Danke im Voraus

Matze

  1. hiho,

    var x = parseInt(10 * Math.random()) + 1; <!-- Zahl von 1 bis 10

    erstens ist der kommentar falsch: der geht mit // oder /**/

    function xaendern()
    {
    x = x + 1;
    document.write(x);
    }

    document.write(x);

    </script>

    <BODY>

    <P>
    <input type="button" value="x aendern" onClick"xaendern()">

    und hier fehlt ihinter dem "onclick" das "=" . .das kann ja nicht funzen ;-)

    bedenke aber, dass du mit d.write beim klicken die gesamte seite neuschreibst, sprich nach einem klick und ausgabe des neuen "x" ist der rest des codes inkl. funktion weg und ein erneuter aufruf wird nicht klappen. (sieh dazu in den seite-quelltext nach dem klicken auf den button)

    gruß hein

  2. Hallo!

    Hai,

    Angenommen, mit document.write wird ein vorher festgelegter Wert x ausgegeben. Dann wird mithilfe eines Buttons, der eine Funktion aufruft, der Wert x geändert. Aber der ausgegebene Wert ändert sich nicht, selbst wenn man in der Funktion eine erneute Ausgabe von x anordnet. Warum?

    <HTML>
    <HEAD>
    </HEAD>
    <script language="JavaScript">

    var x = parseInt(10 * Math.random()) + 1; <!-- Zahl von 1 bis 10

    function xaendern()
    {
    x = x + 1;
    document.write(x);
    }

    document.write(x);

    </script>

    <BODY>

    <P>
    <input type="button" value="x aendern" onClick"xaendern()">

    Du hast Schlicht und Einfach das = nach onClick vergessen
    <input type="button" value="x aendern" onClick="xaendern()">

    </BODY>
    </HTML>

    Danke im Voraus

    Matze

    Byebye eb4

  3. Geht nicht, ist keine Fehlerbeschreibung, du zwingst uns rumzuraten:
    http://glasgoogle.de

    <HTML>

    Kein DOCTYPE?

    <HEAD>
    </HEAD>
    <script language="JavaScript">

    Da fehlt das type Attribut.

    var x = parseInt(10 * Math.random()) + 1; <!-- Zahl von 1 bis 10

    function xaendern()
    {
    x = x + 1;

    das geht einfacher, entweder:

    x += 1;

    oder

    x++;

    document.write(x);
    }

    document.write(x);
    <input type="button" value="x aendern" onClick"xaendern()">

    Da fehlt das Formular und das = Zeichen, aber wenn der Button dann funktionieren würde, würdest du das Dokument neu beschreiben und folglich ist die Funktion weg und der Button auch.

    Du kannst mit document.write deine Wert nur ausgeben, wenn du diese in ein Frame schreibst, da du ansonsten den JS Code überschreibst. Du kannst entweder andere Formularelemente oder Layer zum anzeigen von Inhalten verwenden.

    Struppi.

  4. Hi,

    document.write(x);

    das Dom-Zeitalter hat begonnen!
    Teste:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
    <html>
    <head>
     <title>dom append textnode</title>
    <script language="javascript1.2" type="text/javascript">
    var cnt =  0;
    var textnode;
    function go(){
     if (document.getElementById("out").firstChild) {
      document.getElementById("out").removeChild(document.getElementById("out").firstChild);
     }
     cnt++;
     textnode =  document.createTextNode(cnt);
     document.getElementById("out").appendChild(textnode);
    }
    </script>
    </head>
    <body>
    <p id="out">x</p>
    <br><br><a href="#" onclick="go();return false";>go</a>
    </body>
    </html>

    Gruesse  Joachim