Mick: Optionsfeld und Input

Hallo Forum,

ich möchte eine Auswahlliste mit 3 (resp. 4) Begriffen definieren.
z. B.

rot
grün
gelb
andere

Wenn nun die gewünschte Farbe nicht dabei ist soll man "andere" wählen und es soll ein Eingabefeld erscheinen, oder ist schon da, (erscheinen wäre optimal)
wo man dann die gewünschte Farbe eingibt.

Ich habe gedacht, man könnte es mit option machen und dann mit input, aber ich kriege das nicht gebacken.

Hat jemand eine Idee, wie man das bewerkstelligen könnte?

Danke
Grüße
Mick

  1. Om nah hoo pez nyeetz, Mick!

    Ich würde Radiobuttons verwenden,

    HTML

    <ul>  
      <li><input type="radio" name="Farbe" value="rot"> rot</li>  
      <li><input type="radio" name="Farbe" value="blau"> blau</li>  
      <li><input type="radio" name="Farbe" value="gelb"> gelb</li>  
      <li><input type="radio" name="Farbe" value="andere"> andere</li>  
      <li><input type="text" name="Farbe-individuell" size="20"></li>  
    </ul>
    

    CSS

    input[text]                         {visibility: hidden}  
    input[value='andere'] ~ input[text] {visibility: visible}
    

    Matthias

    --
    1/z ist kein Blatt Papier.

    1. Hi,

      <ul>

      <li><input type="radio" name="Farbe" value="rot"> rot</li>
        <li><input type="radio" name="Farbe" value="blau"> blau</li>
        <li><input type="radio" name="Farbe" value="gelb"> gelb</li>
        <li><input type="radio" name="Farbe" value="andere"> andere</li>
        <li><input type="text" name="Farbe-individuell" size="20"></li>
      </ul>

      
      >   
      > CSS  
      > ~~~css
      
      input[text]                         {visibility: hidden}  
      
      > input[value='andere'] ~ input[text] {visibility: visible}
      
      

      Damit wird das Texteingabefeld aber nach wie vor immer sichtbar sein, denn im DOM befindet sich direkt vor ihm ein input-Element mit dem value "andere", und so ist es erst mal egal, ob dieses nun angekreuzt ist oder nicht.

      Du müsstest also noch die :checked-Pseudoklasse hinzu nehmen, um das gewünschte Ergebnis zu erzielen.

      MfG ChrisB

      --
      RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      1. Danke Matthias, Chris,

        ich kann leider CSS nicht verwenden.
        Das ist eine Software, um u. a. Formulare zu erstellen, die andere dann ausfüllen und an eine email Adresse versenden.
        Es geht so ziemlich fast alles, auch Javascript.

        Danke für Eure Hilfe
        Mick

      2. Om nah hoo pez nyeetz, ChrisB!

        Du müsstest also noch die :checked-Pseudoklasse hinzu nehmen, um das gewünschte Ergebnis zu erzielen.

        korrekt.

        Matthias

        --
        1/z ist kein Blatt Papier.

  2. @@Mick:

    nuqneH

    Wenn nun die gewünschte Farbe nicht dabei ist soll man "andere" wählen und es soll ein Eingabefeld erscheinen, oder ist schon da, (erscheinen wäre optimal)
    wo man dann die gewünschte Farbe eingibt.

    Du möchtest eine Combobox. HTML5 bietet dafür datalist; für Browser, die das noch nicht unterstützen, gibt’s einen Fallback.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)