Pete: Dynamisch eventhandler setzen

Hi,

Ich versuch für ein element einen Eventhandler zu setzen (also für el will ich bei onclick die function test() als Eventhandler setzen), aber ich kriegs nicht hin:

Head:
<script type=text/javascript>
function setEventHandler(func, ev) {
el=document.getElementById("T1");
  el[ev] = func;
}

function test(){alert("hallo");}
</script>

Body:
 <input type="text" id="T1" size="20">
 <input type="button" value="Schaltfläche" name="B3" onclick="setEventHandler(test, onclick);">

Wo ist der Wurm drin?

  1. Hi,

    Wo ist der Wurm drin?

    An den fehlenen Anführungszeichen, weil Du den Strng "onclick" übergeben möchtest und nicht die vermutlich undeklarierte Variable onclick - die ich auch nicht so nennen würde, wenn es sie gäbe?

    Gruß, Cybaer

    --
    Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
    (Jean-Jacques Rousseau, Philosoph u. Schriftsteller)
    1. An den fehlenen Anführungszeichen, weil Du den Strng "onclick" übergeben möchtest und nicht die vermutlich undeklarierte Variable onclick - die ich auch nicht so nennen würde, wenn es sie gäbe?

      Ja das wars =)
      Vielen Dank und einen schönen Tag weiterhin

      1. Hi,

        An den fehlenen Anführungszeichen, weil Du den Strng "onclick" übergeben möchtest und nicht die vermutlich undeklarierte Variable onclick - die ich auch nicht so nennen würde, wenn es sie gäbe?

        Ja das wars =)

        Und wenn du das naechste Mal bitte in die Fehlerkonsole eines guten Browsers schauen wuerdest - dann koennte der dich darauf auch hinweisen, bevor du hier fragen musst.

        MfG ChrisB

        --
        "The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."
  2. Hi,

    <input type="button" value="Schaltfläche" name="B3" onclick="setEventHandler(test, onclick);">

    schreibe onclick als String => (test, 'onclick')

    Auf deine Art kannst du aber auch nur immer EINEN EventHandler setzen. Ich würde lieber addEventListener / attachEvent nutzen.

    Gruß!