Frage von Superstau, 25

WEB-Design / HTML5 / JavaScript Inputfeld soll mir letzte Eingabe vorschlagen?

Ich bin blutiger Anfänger in Sachen WEB-Design und habe folgende Aufgabe gestellt bekommen: Ich habe ein Inputfeld, wo Nutzer Ihre Bezeichnung des Warenkorbs eintragen können (z.B. Baustelle). Nun kommt der Nutzer später wieder, und muss vielleicht erneut den Warenkorb benennen. Wenn er nun den Buchstaben "B" eingibt, soll in das Inputfeld seine letzte Eingabe mit "B", also "Baustelle" vorschlagen. Eine nette kleine Kombination aus HTML5 und Javascript, aber ich habe keine Ahnung wie ich das anstelle.

Wer kann mir helfen?

Antwort
von perhp, 11

Bei dieser Aufgabe ist nun einmal die Frage, wann das Inputfeld erkennen soll, dass der Benutzer den Eintrag beendet hat. Hast du zum Input-Feld noch ein Absende Button?

Nachdem du die Frage oben geklärt hast, machst du dir mit JS ein Array und fügst jeden Eintrag in dieses Array.

Anschließend machst du noch ein Event auf das Input-Feld, wo du anschließend das Array durchgehst und kontrollierst ob die Eingabe in diesem Array vorhanden ist.

Kommentar von Superstau ,

Hallo perhp,

danke für den Hinweis. 

Ja, zum Inputfeld gibt es einen Button damit das Feld weiß wann Schluss ist. 

Das Feld: 

<div class="summary-inpsearch">

<input type="text" class="inp-text" placeholder="Kommission eingeben" id="basket-kommission" value maxlength="25">

Dazu gesellen sich zwei Buttons "Speichern" und "Abbrechen". Natürlich sollte er sich das nur beim speichern merken. 

<a href class="is-btncross btn-refresh" id="button-basket-save">Speichern</a> 

Wie stelle ich das nun an? Hast du da mal ein Coding-Schnipsel für mich? 

var basket-kommisson = new Array();
function init() {
???
}
 
function ausgeben() {
var x = ????;
var ausgabe = ???
}
Kommentar von perhp ,

Hier einige Hinweise für dich:

Bei dir heißt der Speichern Button btn-refresh, was ziemlich verwirrend ist...

var basket-kommission = new Array(); <= ist veraltet

mach besser das hier:

var basket-kommission = [];
$('#button-basket-save').on('click', function(){
//TODO: Wert des Input Feldes auslesen
basket-kommission.push(DEIN_WERT);
});

*Zum auslesen*
arr.forEach(function (el) {
*Das was du machen willst*
})
Kommentar von Superstau ,

Danke für den Code, leider klappt das noch nicht. 

Ich vermute mal, ich muss diesen noch auf meine Bedürfnisse anpassen? 

"(DEIN_WERT)" muss mit was gefüllt werden? 

"*Das was du machen willst*" muss mit was gefüllt werden?
Oder sind das nur Info für mich und ich muss hier nichts weiter machen? 

Danke Dir schonmal für deine Hilfe

Kommentar von perhp ,

Nein natürlich kannst du den Code nicht 1 zu 1 verwenden, sondern musst ihn auf deine Bedürfnisse anpassen, du sollst ja auch dabei was lernen.

1. "Dein Wert" ist der Wert des Input Feldes, den du beim Absenden des Buttons auslesen sollst. Anschließend gibst du die Variable in die push Methode, sodass du dein Array befüllen kannst.

2. In deiner Funktion "ausgeben" läufst du dann die Schleife durch, so wie ich es oben gemacht habe, anschließend schaust du ob der Eintrag des Input Feldes (also bei erneuter Eingabe) in einem Array Eintrag vorhanden ist und wenn ja fügst du ein Feld unter dem input ein.

Schau dir dann auch gleich die Funktion indexOf an, dort kannst du überprüfen, ob der Wert des Inputs gleich einem Eintrag im Array ist.

Keine passende Antwort gefunden?

Fragen Sie die Community