GetElementsByName

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • GetElementsByName

    Hallo,
    ich möchte experimentell durch eine Auswahlliste ein Popup öffnen, dort etwas auswählen und dadurch im Ursprungsfenster den Text eines Div-Tags ändern.
    Im Prinzip geht alles, nur getElementsByName(elementname) tut nicht das, was es soll.
    Ich habe das gleiche mit auch mit getElementById(elementid) probiert, was wiederum funktioniert. getElementsByName(elementname)[0] hat im Firefox funktioniert, im IE allerdings nicht. Wie wende ich getElementsByName richtig an?

    Ursprungsquelltext:

    PHP Code:
    <html>
    <
    head>
    <
    script type="text/javascript">
    <!--
    function 
    NeuFenster() {
     
    MeinFenster =
     
    window.open("test.html""Zweitfenster""width=300,height=200");
     
    MeinFenster.focus();
    }
    //-->
    </script>
    </
    head>
    <
    body>
    <
    form name="form">
        <
    select name="auswahlliste" onChange="NeuFenster()">
            <
    option value=""></option>
            <
    option value="drucker">drucker</option>
            <
    option value="monitor">monitor</option>
        </
    select>
    </
    form>
    <
    div name="auswahl">normaler text</div> <!-- DIESES TAG SOLL GEÄNDERT WERDEN//-->
    </body>
    </
    html
    Popupquelltext:
    PHP Code:
    <html>
    <
    head>
    <
    script language="javascript" type="text/javascript">
    <!--
    function 
    auswahl (nummer) {
    opener.document.getElementsByName(auswahl).innerHTML nummer;
    self.close();
    }
    //-->
    </script>
    </
    head>
    <
    body>
    <
    a href="javascript: auswahl('nummer 1');">nummer 1</a></br>
    <
    a href="javascript: auswahl('nummer 2');">nummer 2</a>
    </
    body>
    </
    html
    Last edited by miguel_rkc; 10-03-2005, 14:27.

  • #2
    Re: GetElementsByName

    Original geschrieben von miguel_rkc
    PHP Code:
    function auswahl (nummer) {
    opener.document.getElementsByName(auswahl).innerHTML nummer
    wo bitte hast du eine variable namens auswahl definiert?


    btw:
    Code:
    <div name="auswahl">normaler text</div> <!-- DIESES TAG SOLL GEÄNDERT WERDEN! //-->
    div hat kein name-attribut.
    nutze eine ID stattdessen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Comment


    • #3
      Re: Re: GetElementsByName

      Original geschrieben von wahsaga
      div hat kein name-attribut.
      nutze eine ID stattdessen. [/B]
      ... was wiederum erklären würde, warum mein Vorhaben zum Scheitern verurteilt war

      so klappt der Aufruf von getElementsByName übrigens richtig:
      PHP Code:
      document.getElementsByName('NamedesElements')[0].value 'Inhalt'
      Scheinbar muss man getElementsByName grundsätzlich wie ein Array behandeln, sprich mit Index (hier [0]). Allerdings finde ich das etwas ungünstig, da man ja in die Versuchung kommen könnte, mehreren Elementen gleichzeitig etwas antun zu wollen, ohne Schleifen benutzen zu müssen. Naja, was soll's.
      Last edited by miguel_rkc; 10-03-2005, 15:32.

      Comment


      • #4
        Re: Re: Re: GetElementsByName

        Original geschrieben von miguel_rkc
        Scheinbar muss man getElementsByName grundsätzlich wie ein Array behandeln, sprich mit Index (hier [0]).
        natürlich stellt getElementsByName eine sog. collection bereit - weil ein name nun mal nicht eindeutig sein muss.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Comment

        Working...
        X