jerry scott: Zugriff auf Label-Element

Hallo Experten,

kann mir mal jemand einen Tipp geben, was ich falsch mache? Wie kann ich mittels der u.a. Funktion "ShowHide()" auch auf das "Label" eines betimmten Formularfeldes zugreifen kann? ...habe schon einige Varianten ausprobiert ...beim Formularfeld klappt es! ...weiss einfach nicht mehr weiter.

Gruss Jerry

[snip]
...
<LABEL for="Name1">Name<U>1</U></LABEL>
<INPUT type=Text id="Name1" name="Name1" accesskey="1">

<LABEL for="Name2">Name<U>2</U></LABEL>
<INPUT type=Text id="Name2" name="Name2" accesskey="2">

<LABEL ...
<INPUT ...
...
[snip]

//************************
// FUNCTION: ShowHide(n,tf)
//************************
function ShowHide(n,tf)
  {
    if (tf == false) {
        Form.elements['Name'+n].style.visibility = "hidden";
        Form.elements.label[for='Name'+n].style.visibility   = "hidden"; /*dies ist meine Problemzeile*/
    } else {
        Form.elements['Name'+n].style.visibility = "visible";
        Form.elements.label[for='Name'+n].style.visibility   = "visible"; /*dies ist meine Problemzeile*/
    };
  }
//************************

  1. Hallo jerry.

    kann mir mal jemand einen Tipp geben, was ich falsch mache? Wie kann ich mittels der u.a. Funktion "ShowHide()" auch auf das "Label" eines betimmten Formularfeldes zugreifen kann?

    Anhand deines Codes rate ich dir den Einsatz von previousSibling.

    Du musst also auf den Vorgänger (label-Element) des jeweiligen Eingabefeldes (input-Element) zugreifen.

    Einen schönen Samstag noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
    Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. Hallo jerry.

      kann mir mal jemand einen Tipp geben, was ich falsch mache? Wie kann ich mittels der u.a. Funktion "ShowHide()" auch auf das "Label" eines betimmten Formularfeldes zugreifen kann?

      Anhand deines Codes rate ich dir den Einsatz von previousSibling.

      Du musst also auf den Vorgänger (label-Element) des jeweiligen Eingabefeldes (input-Element) zugreifen.

      Einen schönen Samstag noch.

      Gruß, Ashura

      Hallo Ashura,

      funktioniert nicht - dazwischen ist noch ein "TD" Tag

      <TD align="right"><LABEL for="Name1">Name<U>1</U></LABEL></TD>
      <TD><INPUT type=Text id="Name1" name="Name1" accesskey="1"></TD>

      oder hab ich hier was falsch gemacht:

      Form.elements['Name'+n].previousSibling.nodeName.style.visibility   = "hidden";

      Gruss Jerry

      1. Hallo Jerry.

        funktioniert nicht

        Dass „funktioniert nicht“ keine geeignete Problembeschreibung ist, dürfte dir bewusst sein, oder? Was sagen die JavaScript-Konsolen von Firefox / Opera?

        • dazwischen ist noch ein "TD" Tag

        Dann eben etwas umständlicher.

        <TD align="right"><LABEL for="Name1">Name<U>1</U></LABEL></TD>
        <TD><INPUT type=Text id="Name1" name="Name1" accesskey="1"></TD>

        oder hab ich hier was falsch gemacht:

        Form.elements['Name'+n].previousSibling.nodeName.style.visibility   = "hidden";

        Schau dich im Kapitel zum node-Objekt ruhig noch etwas um und studiere die weiteren Möglichkeiten, die dir zur Verfügung stehen, um dich durch den Dokumentenbaum zu hangeln.

        Am Besten lässt du dir immer nodeName per alert ausgeben, so dass du weißt, wo du dich gerade befindest.

        Einen schönen Samstag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
        1. Schau dich im Kapitel zum node-Objekt ruhig noch etwas um und studiere die weiteren Möglichkeiten, die dir zur Verfügung stehen, um dich durch den Dokumentenbaum zu hangeln.

          Am Besten lässt du dir immer nodeName per alert ausgeben, so dass du weißt, wo du dich gerade befindest.

          Einen schönen Samstag noch.

          Gruß, Ashura

          Danke Ashura ...werde mich mal intensiv mit dem Thema "Knoten"  befassen um einen Lösungsweg zu suchen.

          Gruss Jerry