# select feld on change



## limk (9. Dezember 2002)

hi hab nicht die größte ahnung von javascript und komme daher bei einem kleinen Formular nicht weiter.
Also ich hab ein Select feld in dem verschiedene Werte ausgewählt werden können. Je nachdem, was ausgewählt ist sollen darunter entweder 1,2 oder 3 input felder sein. Also dachte ich mir mittels on change den value des selects an eine function zu übergeben, die dann das mit den Input Feldern regelt, aber da scheitert es schon 

hier mein code (bis jetzt zum testen): 
<html>
<head>
<script type="text/javascript">
<!--
function aendern() {
     alert(document.form.wert.value + document.form.nr.value);
}
//-->
</script>
</head><body bgcolor="#ffffdd">
<form method="post" name="form" action="<? echo $PHP_SELF ?>" onSubmit="return chkFormular()">
<select name="wert" size="1" onChange="aendern()">
<option selected>wert1</option>
<option>wert2</option>
<option>wert3</option>
<option>wert4</option>
<option>wert5</option>
</select><br>
<input type="text" name="nr" value="<? echo $nr ?>" size="15" maxlength="6">

<input type="submit" name="submit" value="Weiter">
</form>
</body>
</html> 

Wenn ich ne nr eingegeben habe erscheint sie im alert aber das, was ich ausgewählt habe im select interessiert den script nicht warum??


----------



## Fabian H (9. Dezember 2002)

Weil du versuchst, den value vom select-*Tag*.
du musst zuerst die selecttierte option ermitteln, und dann *davon* den value auslesen
sieht ungefär so aus:


```
nummer = document.formular.selectfeld.selectedIndex;
VALUE_DAVON = document.formular.selectfeld.options[nummer].value;
```

glaube jedenfalls dass es so stimmt (habs nonet ausprobiert)


----------



## Samuel (10. Dezember 2002)

```
<html> 
<head> 
<script language="javascript">
<!-- 
function aendern() { 
  var feld = "";
  for(var i = 0; i < document.form.wert.value; i++) {
    feld += "<input type=\"text\" name=\"feld" + i + "\"><br>";
  }
  if(document.all) {
    document.all.feld_div.innerHTML = feld;
  }
} 
//--> 
</script> 
</head><body bgcolor="#ffffdd"> 
<form method="post" name="form" action="<? echo $PHP_SELF ?>"> 
<select name="wert" size="1" onChange="aendern()"> 
<option selected value="1">wert1</option> 
<option value="2">wert2</option> 
<option value="3">wert3</option> 
<option value="4">wert4</option> 
<option value="5">wert5</option> 
</select><br> 
<div id="feld_div"></div>

<input type="submit" name="submit" value="Weiter"> 
</form> 
</body> 
</html>
```

is aber bisher nur für IE
falls fragen zu innerHTML und anderen browsern hast
dann einfach posten 
greetZZzz


----------



## limk (10. Dezember 2002)

danke danke danke!! Das funktioniert ja super 

Ach ja und wo wir grad dabei sind ist es damit auch möglich das select in einer labelauswahl zu ändern??

<label><input name="art" type="radio" value="1">wert1</label><br>
<label><input type="radio" name="art" value="2" checked>wert2</label><br>
<label><input type="radio" name="art" value="3">wert3</label>


----------



## Samuel (10. Dezember 2002)

ich kenn das tag <label> garnicht
wäre über eine aufklärung sehr dankbar

aber grundsätzlich geht es darum das du via innerHTML HTML-Code in ein Div eintragen kannst

also solltest du auch mit labels arbeiten können


----------



## limk (10. Dezember 2002)

label, das sind diese runden punkte zum anklcicken, wie hier im forum z.b. bei den smilies - ich werds mal mit dem innerHTML versuchen


----------



## Samuel (10. Dezember 2002)

lol
hab gedacht das sind radiobuttons mit css
soviel ich weiss gibts radiobuttons und checkboxen
aber das label was eigenes ist wusste ich nicht

greetZzz


----------

