| 

.NET C# Java Javascript Exception

2
Hey,
ich versuche ein Autosuggest-Formular zu bekommen, aus dem man mit der Pfeil-unten-Taste eine Website auswählen und mit Enter öffnen kann. Versteh aber nichts von Javascript. Bei dem folgenden Codeschnipsel bekomme ich nur hin, dass die selektierte URL im Formularfeld angezeigt wird:
<label>Autosuggest: Website mit Pfeiltaste auswählen und mit Enter öffnen <input type="url" onclick="openpage()" list="sites" placeholder="Site eingeben" autofocus/></label>
<datalist id="sites">
<option label="Spiegel" value="http://www.spiegel.de/">
<option label="Tageszeitung" value="http://www.taz.de/">
<option label="taz" value="http://www.taz.de/">
<option label="Zeit" value="http://www.zeit.de/">
<option label="Frankfurter Allgemeine" value="http://www.faz.net/">
</datalist>
<script type="text/javascript">
function openpage()
{
window.location.replace = sites.options.value;
}
</script>


Wie geht das, dass die Seite mit Enter direkt geöffnet wird?
29.07.2013
Julle 11 2
Du hast keine Lust, Dich auch nur im Ansatz mit JavaScript auseinander zu setzen und erwartest hier die Lösung?
Kleiner Tipp: Wenn man nicht mit der Maus klickt, wird auch das Click-Event nicht ausgelöst (onclick=...)
Xantiva 29.07.2013
1 Antwort
1
Hab die Antwort bei stackoverflow gefunden:
<input id = "input" list = "datalist" type = "text" autofocus />

<datalist id = "datalist">
<option label = "Zeit" value = "http://www.zeit.de/"></option>
<option label = "Spiegel" value = "http://www.spiegel.de/"></option>
<option label = "taz" value = "http://www.taz.de/"></option>
</datalist>

<script>
var datalist = document.getElementById ("datalist");
var input = document.getElementById ("input");

input.addEventListener ("keyup", function (event) {
if (event.which === 13) {
window.location = input.value;
}
}, false);
</script>
29.07.2013
Julle 11 2

Stelle deine Javascript-Frage jetzt!