du-doch-nicht
New member
Guten Abend,
vorweg erläutere ich euch, was das Script machen soll.
Ich möchte ein Formular erstellen in dem mehrere Eingabefelder sind. Beim anklicken eines Eingabefeldes soll unterhalb eine DropDown-Liste mit alternativen Eingabemöglichkeiten erscheinen die der Benutzer anklicken kann und im Eingabefeld übernommen wird (DropDown schließt sich beim anklicken einer Auswahlmöglichkeit). Der Benutzer hat aber auch die Freiheit etwas anderes ins Eingabefeld zu schreiben. Beim verlassen des Eingabefeldes schließt die DropDown-Liste.
Vorab für die, die gleich an "datalist" denken... Nein, diese Lösung kann ich nicht verwenden, da etwas entscheidendes nicht funktioniert. Wenn eine Eingabe im Feld exisitiert und ich mich doch für eine andere Eingabe aus der alternativen DropDown-Liste entscheide, erscheint keine DropDown-Liste um alle Auswahlmöglichkeiten zu sehen. Erst nachdem ich die Eingabe aus dem Feld lösche erscheint die DropDown-Liste und kann etwas auswählen.
Es ist eine provisorische Lösung und bedarf einer Optimierung, da ich mich mit Javascript noch nicht zu 100% auskenne.
Ich hoffe Ihr versteht was ich meine.
Hier mein Quellcode:
vorweg erläutere ich euch, was das Script machen soll.
Ich möchte ein Formular erstellen in dem mehrere Eingabefelder sind. Beim anklicken eines Eingabefeldes soll unterhalb eine DropDown-Liste mit alternativen Eingabemöglichkeiten erscheinen die der Benutzer anklicken kann und im Eingabefeld übernommen wird (DropDown schließt sich beim anklicken einer Auswahlmöglichkeit). Der Benutzer hat aber auch die Freiheit etwas anderes ins Eingabefeld zu schreiben. Beim verlassen des Eingabefeldes schließt die DropDown-Liste.
Vorab für die, die gleich an "datalist" denken... Nein, diese Lösung kann ich nicht verwenden, da etwas entscheidendes nicht funktioniert. Wenn eine Eingabe im Feld exisitiert und ich mich doch für eine andere Eingabe aus der alternativen DropDown-Liste entscheide, erscheint keine DropDown-Liste um alle Auswahlmöglichkeiten zu sehen. Erst nachdem ich die Eingabe aus dem Feld lösche erscheint die DropDown-Liste und kann etwas auswählen.
Es ist eine provisorische Lösung und bedarf einer Optimierung, da ich mich mit Javascript noch nicht zu 100% auskenne.
Ich hoffe Ihr versteht was ich meine.
Hier mein Quellcode:
HTML:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Unbenanntes Dokument</title>
<style>
input[type=text] { position: relative; z-index: 2; }
.datalist { border: 1px solid #CCC; width: 200px; box-shadow: 0 0 5px #DDD; position: relative; z-index: 1; margin-top: -17px; }
</style>
</head>
<body>
<p>
<strong>Bearbeiter :</strong><br />
<input type="text" id="ipt2" name="bearbeiter" value="" onClick="OpenList('2');return false" onBlur="CloseList('2');return false" />
</p>
<ul id="dl2" style="display:none" class="datalist">
<li><a href="#" onClick="InputVal('2','Max Mustermann');return false">Max Mustermann</a></li>
<li><a href="#" onClick="InputVal('2','Axel Springer');return false">Axel Springer</a></li>
<li><a href="#" onClick="InputVal('2','John Doe');return false">John Doe</a></li>
</ul>
<script>
function OpenList(_id_) { return document.getElementById("dl"+_id_).style.display="block"; }
function GetClose(_id_) { return document.getElementById("dl"+_id_).style.display="none"; }
function CloseList(_id_) { setTimeout('GetClose('+_id_+')', 200); }
function InputVal(_id_,_val_) { document.getElementById("ipt"+_id_).value=_val_; CloseList(_id_); }
</script>
</body>
</html>