Select Feld soll Input Wert ändern

snikkazz

Grünschnabel
Guten Morgen zusammen,

habe folgendes Problem (google, suche etc. bereits genutzt, jedoch nichts brauchbares gefunden):

Ich habe ein recht großes Formular und in jenem ein Select Bereich der mittels einer Auswahl das darunter liegende Feld ausfüllen soll.

simples Beispiel:
Im select-Feld wähle ich "Ballon" und das darunter liegende Feld soll dann den Wert "Rot" bekommen.

Das Ganze möchte ich mittels einer Funktion dann per onChange Handler dynamisch ändern sobald man den Select-Wert ändert.

Habe mir bereits versucht eine Funktion zu schreiben. Leider kamen dabei ausschließlich Fehler zu Tage.

Wäre sehr dankbar wenn mir dabei jemand helfen könnte, mir reicht eine grobe Beschreibung. Verlange keine geschrieben Funktion.


Danke im Vorraus
 
Hi,

unter der Voraussetzung, dass die Werte, die ins Inputfeld geschrieben werden sollen, in den value-Attributen der Optionen stehen, könntest du folgende Funktion verwenden:
Code:
function changeInput(objSel, strID){
  var objInput = document.getElementById(strID);
  objInput.value = (objSel.options[objSel.selectedIndex].value=="0")? "" : objSel.options[objSel.selectedIndex].value;
}

Die Funktion erwartet zwei Parameter:
- objSel - Referenz auf das Select-Element
- strID - ID des Inputfeldes, dass den Wert aufnehmen soll

Der zugehörige Aufruf im HTML-Bereich sieht zum Beispiel folgendermassen aus:
Code:
<select onchange="changeInput(this, 'txt_01');">
  <option value="0">bitte wählen</option>
  <option value="rot">Ballon</option>
  <option value="blau">Fahrrad</option>
  <option value="gruen">PKW</option>
</select>
<input type="text" id="txt_01" value="">

Ciao
Quaese
 
Hallo,

ich hätte gerne den geposteten Code übernommen, aber er funktioniert nicht, mache ich irgendetwas falsch? Kann ich den Code einfach in meinen Quellcode einfügen? In den Header-Bereich den ersten Teil und den zweiten Teil in den Body-Bereich in mein Inputfeld. Das Optionfeld ist komplett mit PHP generiert. Liegt dort vielleicht das Problem?

Hier mal mein Code:
Code:
<form name="on_melder" action="intern.php" method="post">
	<select name="vereins_nr" onchange="changeInput(this, 'txt_01');">
	<?php
	mysql_connect("localhost","***","***");
	mysql_select_db("***");	
	
	$sql = "SELECT vereinsnr FROM vereine ORDER BY vereinsnr"; 
	$query = mysql_query($sql); 
	if ($query)
	{
	    while($sekt = mysql_fetch_array($query, MYSQL_ASSOC))
	    {
	        $selected="";
	        if ($strAdrSektion == $sekt['vereinsnr'])
	        {
    	        $selected="selected ";
    	    }

    	    echo "<option " . $selected . "value=\"" . $sekt['vereinsname'] ."\">" . $sekt['vereinsnr'] ."</option>";
    	}
	}
?>
	</select> <b>Vereinsnr.</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name="anz_s" size="10"> <b>Anzahl teilnehmender Schützinnen und Schützen</b><p>
	<input name="verein" type="text" id="txt_01" value="" size="70" disabled readonly> <b>Verein</b>
	<p>
	<table>
		<tr>
...
Liebe Grüße
Patrick
 
Hi,

sollte eigentlich funktionieren.

Um mehr zu sagen, wäre es hilfreich, wenn du den geparsten HTML-Code des relevanten Bereichs posten würdest. Keiner kann ahnen, was in den PHP-Variablen versteckt ist.

Ciao
Quaese
 
Die Tags "disabled readonly" im Input - tuen die Not bzw. verhindern die eventuell, daß das Script läuft?
 

Neue Beiträge

Zurück