• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Formular um input Feld erweitern

bhamann

New member
Hallo,
bin kurz vorm durchdrehen, ich bekomm einfach nicht heraus, warum dies Formular nicht das tut was ich will. Bestimmt ne simple Sache, aber treibt mich zur Verzweiflung.

Wenn der User aus einer select-box einen bestimmten Wert auswählt, möchte ich, dass ein input text-Feld aufgeht, wo er etwas eintragen soll. Dieser Wert wird dann per PHP abgefragt und weiter verarbeitet. Allein mit PHP wohl schlecht zu realisieren, weil submit noch nicht gedrückt sein soll.
Ich dachte mir, ich frag in JS die entsprechende option ab und mach dann ein weiteres bis dahin verstecktes input-Feld auf und benutz daraus den value weiter.

Irgendwas passt mit der Anwahl des entsprechenden Wertes im Script nicht, weil nämlich schon bei der Anwahl der 2. Option das zusätzliche Feld aufgeht. und eigentlich habe ich feldname[3] so verstanden, dass dort das 3. Element zählend ab 0 angesprochen wird..

Was hab ich falsch gemacht/gedacht? Gibt's vielleicht eine schönere Lösung bzw. irgendwo ein nah liegendere Lösung?

Danke im Voraus

björn

Hier der Testcode:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript" language="JavaScript">
 <!--
      function ausgabe()
	  {
	  	var inhalt = document.koloskopie.emassnahme[3];
	  	if (inhalt.value =='sonstige')
		{
		document.getElementById('istda').style.display='';
		}
		else
		{
		document.getElementById('istda').style.display='none';
		};
      };
  //-->
  </script>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" name="koloskopie" method="post">

<select name="emassnahme" size="1" onchange="ausgabe()" >
<option value="irgendwas" <?php if ( ($_POST['emassnahme']) == 'irgendwas' ) { echo 'selected';} ?>>irgendwas</option>
<option value="scheiis" <?php if ( ($_POST['emassnahme']) == 'scheiis' ) { echo 'selected';} ?>>scheiis</option>
<option value="mist" <?php if ( ($_POST['emassnahme']) == 'mist' ) { echo 'selected';} ?>>mist</option>
<option value="sonstige" <?php if ( ($_POST['emassnahme']) == 'sonstige' ) { echo 'selected';} ?>>Sonstige</option> 
</select>
<br />
<span style="display:none;" id="istda"><input type="text" name="sonstmassn" size="8" maxlength="8" value=""  /></span><br />

<?php echo ($_POST['sonstmassn']);?>
<br />
<button type="submit">Absenden</button>
</form>
</body>
</html>
 
Du willst doch nicht den Wert aus der 4. Option auslesen, sondern den vom select, oder?
Somit musst du das "[3]" weglassen...
 
Super, danke
Hat natürlich funktioniert, ich hab zu viel gelesen, scheinbar zu viel missverstanden aber nun klappt's.
 
Zurück
Oben