Jörg Lucht: focus funktioniert nicht !?!

Hallo Leute,

ich habe folgendes Script geschrieben.

function sv_nr_pruef(feldname)
{
 var obj_pruef_feld = this.document.getElementById(feldname);
 var pruef          = obj_pruef_feld.value;
 if (pruef == "" || pruef == "1")
 {
  //alert("alles OK");
 }
 else
 {
  alert("Die SV-Begründungs-NR: "" + pruef + ""\nist nicht in den Stammdaten vorhanden!");
  obj_pruef_feld.value="";
  obj_pruef_feld.focus();
        }
}

Das Script funkitoniert BIS AUF den focus() in der letzten Zeile.
Was mache ich falsch ?

CU
Jörg

  1. Hi,

    var obj_pruef_feld = this.document.getElementById(feldname);

    Die fuer alle Browser gueltige Formularreferenz ist immer noch:
    document.FORMNAME.ELEMENTNAME...  oder
    document.forms["FORMNAME"].elements["ELEMENTNAME"]...   oder
    document.forms[index].elements[index]...

    Gruesse  Joachim

  2. Hallo Jörg.

    var obj_pruef_feld = this.document.getElementById(feldname);

    Meiner bescheidenen Meinung nach kann "obj_pruef_feld" die Eigenschaft focus nicht haben, denn mit getElementById() hast du Zugriff auf ein HTML-Elementobjekte und dessen Eigenschaften. Würdest du ein Eingabefeld ansprechen (was ich vermute), hätte dieses zwar die Eigenschaft value, aber keine Methode focus, siehe:

    http://selfhtml.teamone.de/javascript/objekte/htmlelemente.htm#input

    Willst du also die Methode focus verwenden, müsste "obj_pruef_feld" eine Referenz auf ein elements-Objekt sein, siehe:

    http://selfhtml.teamone.de/javascript/objekte/elements.htm#allgemeines

    Dann sollte obj_pruef_feld.focus() eigentlich funktionieren.

    Hoffe es hilft
    Siechfred

    PS: Ungenauigkeiten und Fehler im Gebrauch von Fachbegriffen bitte ich wie immer nachzusehen ;-)