Scar: onmouseover per getElementsByName hinzufügen

hallo,

ich versuch mit folgenden code allen inputs in einem document um einen eventhandler zu erweitern, allerdings bleibt das ohne jegliche wirkung. kann mir einer helfen und sagen was ich wo falsch mache?

function createAutoSelects(){
 inputs = document.getElementsByTagName("input");

for (var i=0; i<inputs.length; i++) {
    inputs[i].onMouseover = "this.select();";
    //inputs[i].style.display = "none";

}
}

den style.display syntax hab ich nur als beipsiel dabei geschrieben (damit gehts, aber nicht mit dem eventhandler)

grüße Chris

  1. hi,

    inputs[i].onMouseover = "this.select();";

    du möchtest den inputs eine funktionsreferenz zuweisen, nicht aber an dieser stelle bereits die funktion ausführen.

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.
  2. function createAutoSelects(){
    inputs = document.getElementsByTagName("input");

    for (var i=0; i<inputs.length; i++) {
        inputs[i].onMouseover = "this.select();";
        //inputs[i].style.display = "none";

    }
    }

    Du musst dem Handler eine Referenz auf eine Funktion zuweisen.
    In der Regel machst du das indem du einfach dei Klammern wegläßt:

    function f() {
    alert('');
    }

    alert( f )

    aber du kannst auch direkt ein Funktionsreferenz erzeugen:

    onmouseover = funtion () { ...... };

    du musst in JS auf die richtige Schreibweise achten.

    Innerhalb der geschweiften Klammern, kannst du dann mit this auch das Objekt zugreifen.

    Struppi.

    1. danke für den hinweis,

      grüße Chris :)