Gerd: Element ansteuern, dessen Name ein Array ist

Hallo,

der nachfolgende Code soll folgenden Dienst verrichten:

  • Es gibt 3 Selectboxes, die alle den Name "alphabet[]" tragen. Dieses Array als Name ist aufgrund des dahinterstehenden PHP-Scripts erforderlich und soll hier nicht zur Debatte stehen.
  • Ich möchte nun, dass sich beim anklicken der Checkbox die 2. Selectbox deaktiviert, die anderen beiden sollen aktiviert bleiben. Wie steuere ich das jedoch an? Mein Funktion greift nämlich hier nicht.... Wo liegt der Fehler?

Kann mir bitte jemand weiterhelfen?
Danke

Gruß
Gerd

--------------------------------------------------------------
Hier der Beispiel-Code:

<html>
<head>

<script type="text/javascript">
<!--
  function sperren() {
  document.updatelist.alphabet[][1].disabled=true;
}
//-->
</script

</head>
<body>

<form action="script.php" method="post" name="updatelist">
  <input type="checkbox" onclick="sperren()" value="1" name="sperr">
  <select name="alphabet[]">
    <option value="a">A</option>
    <option value="b">B</option>
    <option value="c">C</option>
  </select>

<select name="alphabet[]">
    <option value="d">D</option>
    <option value="e">E</option>
    <option value="f">F</option>
  </select>

<select name="alphabet[]">
    <option value="g">G</option>
    <option value="h">H</option>
    <option value="i">I</option>
  </select>
</form>

</body>
</html>

  1. Yerf!

    function sperren() {
      document.updatelist.alphabet[][1].disabled=true;

    Die [] an der Stelle sind ungültige zeichen für diese Art der Verwendung.

    Schema 4 dieses http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines@title=Artikels liefert das gewünschte.

    Gruß,

    Harlequin

    PS: sollte das nicht mal langsam in die FAQ?

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
    1. Hallo Harlequin,

      danke für deine Antwort!

      Mit deiner Hilfe funktioniert es nun. Die Lösung:

      document.forms["updatelist"].elements["alphabet[]"][1].disabled=true;

      Yerf!

      function sperren() {
        document.updatelist.alphabet[][1].disabled=true;

      Die [] an der Stelle sind ungültige zeichen für diese Art der Verwendung.

      Schema 4 dieses http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines@title=Artikels liefert das gewünschte.

      Gruß,

      Harlequin

      PS: sollte das nicht mal langsam in die FAQ?

      1. document.forms["updatelist"].elements["alphabet[]"][1].disabled=true;

        Der Vollständigkeit halber: Man kann die von Harlequin verlinkten Schemata kombinieren, weshalb Folgendes auch möglich ist:

        document.updatelist.elements["alphabet[]"][1].disabled=true;

        Und bitte zitiere künftig nur den Teil des Vorpostings, auf den sich Deine Antwort bezieht, das erleichtert das Lesen und das Verstehen des Zusammenhangs zwischen Deiner Antwort und dem Posting, auf das Du antwortest.

        Siechfred

        --
        Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.