Frage von marioenz98, 92

Bewertung mit HTML und Javascript?

Hallo Kann mir jemand Hilfe/Hinweise geben? Ich will mithilfe HTML/Javascript eine Anwendung schreiben die mir ermöglicht in einem Drop-Down-Feld ein Element(z.B.: ein Auto) auszuwählen und dieses dann mithilfe eines zweiten Drop-Down Feldes zu bewerten(z.B.: von 1-10).

Antwort
von Minilexikon, 11

Wie MonkeyKing bereits sagte, ist das mit jQuery machbar. Wenn du das nur für dich brauchst, kannst du dir das auch im LocalStorage speichern.

Antwort
von MonkeyKing, 51

So wie fluffiknuffi schreibt, die Frage is wie du das dann speichern willst - serverseitig? Dann brauchst du noch ein Script, z.B. in PHP um die Daten auszuwerten.

Kommentar von marioenz98 ,

nein, ich will ein autos-array generieren und in den jeweiligen arrayspeicherplatz die bewertung reingeben

Kommentar von MonkeyKing ,

Ich würde die eine Javascript library wie jQuery empfehlen, das macht dir manches einfacher. Leider kann ich gerade nicht ins Detail gehen.

Antwort
von Lindal, 68

Also für solche Fragen hilft dir stackoverflow.com gut weiter.

Kommentar von MonkeyKing ,

Nicht wirklich. Stackoverflow liertert keine How-Tos.

Antwort
von fluffiknuffi, 55

Wozu du dazu JS benötigst weiß ich allerdings nicht.

Deine Wahl: 
<select name="auto"><option value="1">VW mit Diesel</option><option value="2">VW ohne Diesel</option></select>
Deine Bewertung:
<select name="bewertung"><option value="1">Toll</option><option value="2">Nicht toll</option></select>

Und das wertest du dann serverseitig aus...

Kommentar von marioenz98 ,

Ich werde das nirgends hochladen, ist nur für mich...wie werte ich das am Besten/Einfachsten aus?

Kommentar von marioenz98 ,

Oder wie mach ich es am besten dass ich wenn ich zb ein array von autos genriere, dass in den jeweiligen arrayspeicherplatz die bewertung rein kommt?

Kommentar von fluffiknuffi ,

Vom Prinzip her (Achtung - unsicherer/schlechter Code - soll nur das Prinzip verdeutlichen, nicht so verwenden!):

HTML-Dokument:

https://jsfiddle.net/fxcztyqr/

Serverseitig mit PHP:

$auto = $_POST['auto'];
$bewertung = $_POST['bewertung'];

$sql = 'INSERT INTO bewertungen(auto, bewertung) values ('.$auto.', '.$bewertung')';

$mysqli = new mysqli("example.com", "user", "password", "database");
$mysqli->query($sql);
Kommentar von marioenz98 ,

Ok erstmal danke, kannst du mir noch sagen wie ich das am besten löse das wenn ich auf "speichern" klicke in den arrayplatz des ausgewählten autos die ausgewählte bewertung kommt?

Kommentar von fluffiknuffi ,

Siehe nachfolgenden Code.

$auto = $_POST['auto'];
$bewertung = $_POST['bewertung'];

$bewertungen = array();
$bewertungen[$auto] = $bewertung;

Wobei du $bewertungen vermutlich speichern willst

file_put_contents('bewertungen.txt', json_encode($bewertungen));

Dann könntest du es statt auf einen leeren Array zu setzen ( $bewertungen = array(); ) auch direkt lesen:

$auto = $_POST['auto'];

$bewertung = $_POST['bewertung'];

$bewertungen = array(); if (file_exists('bewertungen.txt')) { $bewertungen = json_decode(file_get_contents('bewertungen.txt)); }
$bewertungen[$auto] = $bewertung;

PS: Code nicht getestet, kann Flüchtigkeitsfehler enthalten.

Kommentar von marioenz98 ,

Danke für den grossen Aufwand allerdings habe ich von PHP rein garkeine Ahnung. Weisst du wie das am Einfachsten mit Javascript möglich ist?

Kommentar von fluffiknuffi ,

Ja und nein - ich verstehe nicht worauf du wirklich hinaus willst. Wenn du JS (im Browser) nimmst kannst nicht einfach etwas in eine Datei speichern.

Kommentar von marioenz98 ,

Ne nicht in eine Datei, nur in einen Arrayspeicherplatz. Der Haken an der ganzen Sache ist einfach diese "Anwendung" ist teil meines kleinen Webprojekt für die Schule, welches allerdings nur aus HTML und JS bestehen darf

Kommentar von Sarkophator ,

Das hängt von den Umständen ab, wie dein Code aufgebaut ist. Brauchst du nur einen Array mit den Bewertungen? Dann kannst du das wie folgt machen:

var autoindex = document.getElementsByName("auto")[0].value;
bewertungen[autoindex] = document.getElementsByName("bewertungen")[0].value;

Vorausgesetzt du hast bewertungen bereits vorher schon als Array deklariert.

In dem Falle gehst du davon aus, dass der Wert den du bei value bei den option-Elementen in dem auto-select-Element einträgst dem Index für das entsprechende Auto in dem Bewertungsarray entspricht.

Wenn dein Code anders aufgebaut ist oder du das anders brauchst, dann brauchen wir mehr Informationen.

Kommentar von marioenz98 ,

Danke!

Keine passende Antwort gefunden?

Fragen Sie die Community