• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

heute mal JavaScript mit DOM

Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Ich möchte mit JS ein Formular manipulieren. Wenn man aus einer radio-button liste ein element auswählt, soll sich je nach Auswahl eine andere Fortsetzung des Formulars ergeben.
Das mit appendChild klappt schon ganz gut und ich weiss auch, dass man die Childs einfach ersetzen kann, wenn man was anderes auswählt. Aber wie kann ich mein if formulieren um zu entscheiden, ob schon ein child da ist was ersetzt werden muss, oder ob noch keins da is?
Folgeelement und radiobuttons sind auf dem selben Level der Hierarchie.
 

cart

Technik/Software Forum
Mitglied seit
01.08.2002
Beiträge
4.873
Reaktionen
0
Ort
New York
Warum blendest du nicht einfach über CSS Attribute Sachen ein und aus? Dann sparst du dir das Ersetzen kompletter Teile.
 
Mitglied seit
12.01.2004
Beiträge
8.557
Reaktionen
0
Ort
Gießem
jo wie cart sagte

.display = none | inline | ...

oder halt komplett ersetzen via

.innerHTML = code;

siehe dazu selfhtml/google

wenn du die daten aus ner db liest lohnt sich dann wohl der einsatz von ajax (xml/php/js verknüpfen)
 
Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
ok. ich muss zugeben, ich versteh mal wieder nur bahnhof. :(
Hier also einfach mal mein Übungsbeispiel:

so. angezeigt werden 3 checkboxen und wenn ich auf eine drücke soll darunter je nachdem entweder eine Liste von Spielstätten oder eine Liste von Stadien erscheinen. Und wenn ich mehrmals drücke soll halt nicht gleich ein zweites auswahl menü erscheinen sondern je nach situation halt das andere.

Wenn ihr so lieb wärt und mir anhand des codes erklären könntet, was ihr meint, wäre das echt nett.
Code:
<script type="text/javascript">
  function gethouses(){
    var form = document.getElementById("formular");
    var select = document.createElement("select");
    var option;
    var text;
    var button;
    var tag;
    text = document.createTextNode("Spielstätten: ");
    form.appendChild(text);
    select.setAttribute("name", "locations[]");
    select.setAttribute("size","1");

    option = document.createElement("option");
    option.setAttribute("value","1");
    text = document.createTextNode("Haus 1");
    option.appendChild(text);
    select.appendChild(option);

    option = document.createElement("option");
    option.setAttribute("value","2");
    text = document.createTextNode("Haus 2");
    option.appendChild(text);
    select.appendChild(option);

    form.appendChild(select);
    tag = document.createElement("p");
    tag.setAttribute("id","Spielstaetten");
    text = document.createTextNode("ausgewählte Spielstätten");
    tag.appendChild(text);
    form.appendChild(tag);
    tag = document.createElement("input");
    tag.setAttribute("type", "button");
    tag.setAttribute("id", "button");
   
  }
  function getstadion(){
     
  }
  
  
</script>


<form action="http://meine-seite.de" method="post" id="formular"> 
  <span class="radiobuttons">
    <input type="radio" name="topic" value="theater" onclick="gethouses();">Theater<br>
    <input type="radio" name="topic" value="kino" onclick="gethouses()">Kino<br>
    <input type="radio" name="topic" value="Fuba" onclick="getstadion()">Fussball<br>
  </span><div class="dropbox">
  </div>
</form>
//schade dass es keinen tag für html code gibt oder ich zu doof bin ihn zu benutzen.
 

cart

Technik/Software Forum
Mitglied seit
01.08.2002
Beiträge
4.873
Reaktionen
0
Ort
New York
Du machst ein Formular mit _allen_ Eingabemöglichkeiten und weist diesen ids zu. Wenn dann eine Checkbox markiert wird, kannst du über CSS die Sachen mit Hilfe ihrer IDs über CSS sichtbar oder unsichtbar machen. Es werden dann also nur die Sachen angezeigt, die du bestimmst.
 
Oben