[surus]: OnClick() und Dropdown Liste

Hallo!
Ich habe folgendes Problem:

Es gibt eine submit Taste auf der Seite, die z.B. "Weiter zur Seite 2" heisst.
Es gibt aus dieser Seite auch eine Dropdown-Liste mit 4 Werten(z.B. 1;2;3;4)
Momentan kann der Besucher kein Wert in der Dropdown-Liste auswählen und trotzdem weiter gehen zur Seite 2. Ich will das aber verhindern und den Weg zur Seite 2 erst dann erlauben, wenn der richtige Wert in der Dropdown-Liste ausgewählt wurde. Wie kann ich es mit Javascript lösen? Danke vielmals im Voraus!

  1. Hi,

    habe dir mal eine Lösung mit "verstecken" des Seite 2 Buttons.
    Man kann natürlich auch überprüfen ob ein Feld gewählt wurde, aber die Lösung wäre dann anders. Kopiere das unten mal in ein Dokument und guck es dir an.

    <center>
       <select name="" size="">
       <option value="">Bitte wählen ...</option>
       <option value="" onClick="JavaScript:document.getElementById('div1').style.visibility = 'visible';" style="width:100px;">Wert 1</option>
       <option value="" onClick="JavaScript:document.getElementById('div1').style.visibility = 'visible';" style="width:100px;">Wert 2</option>
       </select>
    </center>
    <span id="div1" style="visibility:hidden;position:absolute;">
      <table bgcolor="#FFFFFF" width="250px" height="30px" align="center" valign="middle">
        <tr>
          <td align="center" valign="middle"><input type="Submit" name="Seite 2" value="Seite 2"></td>
        </tr>
      </table>
    </span>

    Grüße felix

    1. Hi,

      habe das ganze in eine HTML Datei reinkopiert. Klappt nicht :-(
      Die Taste unten ist nie zu sehen :-(

  2. Es gibt eine submit Taste auf der Seite, die z.B. "Weiter zur Seite 2" heisst.
    Es gibt aus dieser Seite auch eine Dropdown-Liste mit 4 Werten(z.B. 1;2;3;4)
    Momentan kann der Besucher kein Wert in der Dropdown-Liste auswählen und trotzdem weiter gehen zur Seite 2. Ich will das aber verhindern und den Weg zur Seite 2 erst dann erlauben, wenn der richtige Wert in der Dropdown-Liste ausgewählt wurde. Wie kann ich es mit Javascript lösen? Danke vielmals im Voraus!

    Du musst beim Submit des Formulars überprüfen, ob in der selectBox ein Wert gewählt wurde.

    <form onsubmit="...."

    und

    http://de.selfhtml.org/javascript/objekte/options.htm

    Struppi.

    1. Danke!!!

      Es geht bei mir aber auch nicht. Meine <form> hat leider kein Namen!!! Und ich kann es nicht ändern :-( Geht es, wenn meine Forma kein Namen hat? Wie kann ich dann mein <select> ansprechen?
      Wenn ich statt
      document.Formname.Selectname.options[0].selected
      einfach so mache
      document.Selectname.options[0].selected
      dann klapt es leider nicht :-(

      1. Hallo,

        Es geht bei mir aber auch nicht. Meine <form> hat leider kein Namen!!! Und ich kann es nicht ändern :-( Geht es, wenn meine Forma kein Namen hat?

        Du kannst das form-Element(-knotenobjekt) und darüber die Formularfelder mit »this« ansprechen, denn der onsubmit-Event betrifft dieses Element.

        <form ... onsubmit="if (!this.elements.optionfeldname.options[0].selected) return false">
        ...
        <select name="optionfeldname">...</select>

        this verweist auf das Formularobjekt, was auch über document.forms ansprechbar wäre, hätte es einen Namen bzw. eine ID (es ginge natürlich auch mehrdeutig über die Nummer, einerlei).
        .elements.optionsfeldname spricht bekanntermaßen das select-Formularfeld (Bezeichnung = name-Attribut) an, options[0].selected kennst du auch.
        Wenn also nicht die erste Option ausgewählt ist (if (!...options[0].selected) ...), dann gebe false zurück (return false). Das verhindert, dass das Formular abgesendet wird.

        Mathias