Richie: Formularerzeugung mit Hilfe von JavaScript

Hallo zusammen!

Ich habe zu folgendem bereits diese Seiten hier durchsucht und leider nichts darüber gefunden.

Per JavaScript lese ich den Value eines Formularfeldes (Options) aus, um dann ein anderes Formularfeld mit Inhalt zu füllen, in Abhängigkeit von dem "selected" aus dem ersten Formularfeld.

Hier ein Ausschnitt aus dem Quelltext:

<select name="Produktbereich" size="1" onchange="swap();">
        <option value="Entertainment Devices">Entertainment Devices</option>
        <option value="Handhelds">Handhelds</option>
</select>
<br>
<br>
<select name="Unterkategorie" size="1">
        <option value="USW">usw.</option>
        <option value="USW2">usw.</option>
</select>

function swap(){
  if (MIPFormular.Produktbereich.options[MIPFormular.Produktbereich.selectedIndex].value == "Handhelds"){
   MIPFormular.Unterkategorie.options[0].value = "Test";
   MIPFormular.Unterkategorie.options[1].value = "2terTest";
  }
 }

So. Das funktioniert auch. Der VALUE-Eintrag von der Unterkategorie verändert sich. Aber wie bekomme ich es hin, dass sich die Anzeige aus der Auswahl "Unterkategorie" ändert? Also in diesem Fall das "usw." ???

Vielen Dank für Eure Hilfe im Voraus!
Richie

  1. Juhuuu! Ich habs selber rausgefunden.

    Wenn man in der Auswahl "Unterkategorie" IDs vergibt, kann man diese Stelle später ansprechen. So funktionierts:

    <select name="Unterkategorie" size="1">
            <option value="USW" id="u1">usw.</option>
            <option value="USW2" id="u2">usw.</option>
    </select>

    function swap(){
      if (MIPFormular.Produktbereich.options[MIPFormular.Produktbereich.selectedIndex].value == "Handhelds"){
       MIPFormular.Unterkategorie.options[0].value = "Test";
       document.getElementById("u1").firstChild.nodeValue = "Test";
       MIPFormular.Unterkategorie.options[1].value = "2terTest";
       document.getElementById("u2").firstChild.nodeValue = "2terTest";
      }
     }

    Viele Grüße,
    Richie

  2. hi,

    MIPFormular.Unterkategorie.options[0].value = "Test";
       MIPFormular.Unterkategorie.options[1].value = "2terTest";

    So. Das funktioniert auch. Der VALUE-Eintrag von der Unterkategorie verändert sich. Aber wie bekomme ich es hin, dass sich die Anzeige aus der Auswahl "Unterkategorie" ändert? Also in diesem Fall das "usw." ???

    neben der lösung, die du jetzt gefunden hast, hättest du übrigens auch ganz analog zu deiner obigen syntax, die den value ändert, den text ändern können:
    http://selfhtml.teamone.de/javascript/objekte/options.htm#text

    gruss,
    wahsaga

    1. neben der lösung, die du jetzt gefunden hast, hättest du übrigens auch ganz analog zu deiner obigen syntax, die den value ändert, den text ändern können:
      http://selfhtml.teamone.de/javascript/objekte/options.htm#text

      gruss,
      wahsaga

      Ja, Danke. So ists sogar noch einfacher. Das ich das nicht vorher gefunden habe...
      Man muss nur wissen was man sucht, wenn man sucht... ;-)

      Grüße,
      Richie