der_gretges: onclick-Wert ändern

Hallo zusammen,

ich möchte folgendes machen:

...
document.getElementsByTagName("input")[0].onclick = "sw('" + y + "');";
...
<body>
<input type="button" value="Umschalter" onclick="sw('wz');">
...

So klappt es leider nicht. Mach ich was falsch bzw. wie greife ich auf den Wert des onclick-Eventhandlers zu?

Gruß,
Basti

  1. Zusätzliche Erklärung:

    Ich möchte "einfach nur" per Javascript den Wert des onclick-Eventhandlers ändern.

    Basti

  2. document.getElementsByTagName("input")[0].onclick = "sw('" + y + "');";

    Der onclick Eventhandler erwartet eine Funktionsreferenz, es gibt mehrere Möglichkeiten eine zu erzeugen.
    Entweder direkt:
    document.getElementsByTagName("input")[0].onclick = sw;

    Dann kannst du aber keine eigenen Parameter übergeben.

    oder als Funktion:
    document.getElementsByTagName("input")[0].onclick = function(e)
    {
    sw("y");
    };

    oder in mit new Funktion(), das benutze ich aber nie.

    Struppi.

    1. document.getElementsByTagName("input")[0].onclick = function(e)
      {
      sw("y");
      };

      Danke erstmal für die Lösung. Hab aber in der Zwischenzeit das Problem mit nem Link gelöst. Dessen href lässt sich irgendwie unproblematischer ändern.

      Gruß,
      Basti

      1. document.getElementsByTagName("input")[0].onclick = function(e)
        {
        sw("y");
        };

        Danke erstmal für die Lösung. Hab aber in der Zwischenzeit das Problem mit nem Link gelöst. Dessen href lässt sich irgendwie unproblematischer ändern.

        Ich wiß zwar nicht, was da dran problematisch ist, aber vermutlich war dein Problem ein anderes.

        Struppi.

        1. Hab grad noch mal drüber geschaut und festgestellt, dass ich das Problem auch ohne Parameterübergabe lösen kann.

          Danke aber an alle, die sich meiner angenommen haben!!

          Gruß,
          Basti