Selectfeld in Inputfeld übertragen mit Hindernissen

Gray

Erfahrenes Mitglied
Ich habe ein Selectfeld mit allen Ländern der Welt, nun soll OnChange die jeweilige Landesvorwahl in ein Inputfeld geschrieben werden.

Problem: in der Liste mit den Ländern steht nirgends die Landesvorwahl also kann ich nicht einfach den Value des Selecteten Feldes übernhemen sondern muss diesen abgleichen und und in das Inputfeld eintragen.

Aber Wie?
 
Stichwort: AJAX, google mal, damit müsste es gehen. Oder du generierst zusätzlich ein Javascript-Array welches als Schlüssel zur jeweiligen Landesvorwahl den Value-Wert des option-tags hat
und dann dürfte es ja kein Problem mehr sein
flooo
 
AJAX ist nichts für mich, habs aber hinbekommen.
Hier der Code für alle die das gleiche Problem haben.

HTML:
<html>
<head>
<script>

vorwahlen = new Array();
vorwahlen['DE'] = "+49";
vorwahlen['AT'] = "+43"; 
vorwahlen['CH'] = "+41"; 

	function land(auswahl){
		
		
		document.formular.tel_land.value = vorwahlen[auswahl[auswahl.selectedIndex].value];
		
	
	}

</script>
</head>
<body>
<form name="formular">
<p><select name="select" onChange="land(this)">
<option value="DE">Deutschland</option>
<option value="AT">Österreich</option>
<option value="CH">Schweiz</option>
</select></p>
<p><input type="text" name="tel_land"></p>
</form>
</body>
</html>
 
Wenn du das value-Attribut für etwas anderes brauchst, kannst du auch bspw. das title-Attribut missbrauchen... das spart dir enorm an Dateigrösse und vermeidet auch doppelte Arbeit, da du die Options ja sicher aus einer DB oder dergleichen füllen wirst, wo alle Details drinnen stehen:
Code:
<form name="formular">
  <select name="select" onChange="this.form.tel_land.value='+' + this.options[this.selectedIndex].title">
    <option value="DE" title="49">Deutschland</option>
    <option value="AT" title="43">Österreich</option>
    <option value="CH" title="41">Schweiz</option>
  </select>
  <input type="text" name="tel_land">
</form>
 

Neue Beiträge

Zurück