Eingabe Wiederholungsfenster? Anfänger

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Moin zusammen,

bin gerade frisch registriert... Also sorry da noch recht Anfänger..

Ich hab folgendes vor. Eine HTML Seite mit 4 Abschnitten.

Von oben nach unten:
  1. Auswahlbox. Dropdown oder direkt Auswahl von Ort "Hamburg, Berlin, Frankfurt". Ob dropdown oder direkt Auswahl ist mir egal. <- das bekomme ich hin :)
  2. Text eingafeld. Einzeiler. Beispiel ich tippe da ein "Test-Blablabla". <- Bekomme ich hin.
  3. Noch 4 Zeilen von denen ich 1 auswählen kann. Beispiel ich wähle "Test". <- Bekomme ich hin.
Jetzt das Problem

4. Eine art Textfeld der mir automatisch folgendes Anzeigt "Hamburg Test-Blablabla Test", sprich der soll mir in einer Zeile das anzeigen was ich ausgewählt habe.
Wie könnte ich das realisieren? Ich wüßte nicht mal wie dieser Befehl heißt damit ich testen kann.
Jede Hilfe wäre mir willkommen.

Danke
 
Zuletzt bearbeitet:

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.026
202
63
17
Ist kein Hexenwerk, aber JavaScript wirst du wohl dafür brauchen... Entscheide selber, ob es sinnvoll für dich ist oder nicht.
Das Ganze würde folgendermaßen ablaufen:
Du hast deine 3 Eingabefelder, Dropdowns, etc..
  1. Du setzt einen onchange Event-Listener.
  2. In diesem Event-Listener liest du die Values aus und setzt sie als Variablen.
  3. Jetzt veränderst du die Value deines Textfeldes und ersetzt sie mit deinen ausgelesenen Values.
Beispiel folgt:
 
Zuletzt bearbeitet:
Reactions: RXBeat

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Aaron3219 Man ist das geil ! Wirklich genau das was ich benötige.
Vielen Dank !!!!!
 

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Könnte man so auch daten von einer anderen html seite ziehen?
wenn punkt drei jetzt beispielsweise ein iframe zu einem anderen html ist was im selben ordner liegt.. inhalt wären radiobuttons oder whatever. Könnte das funktionieren? Kann mir gerade nicht vorstellen das der zugriff hätte.
Also das was du erklärt hast, funktioniert super.
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.026
202
63
17
Ja das geht mit exakt dem gleichen Prinzip. Du musst nur den querySelector anpassen, sodass er die values aus dem iframe zieht. Theoretisch kannst du sogar values von anderen Seiten ziehen, die gar nicht deine Seite sind. Dabei gibt es aber ein Problem, das hier gelöst wird:
Das ist aber nur der Vollständigkeit halber. Ich schätze mal, PHP macht im Moment für dich noch keinen Sinn.
 
Reactions: RXBeat

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Ich versuche mal mein bestes. Momentan bin ich gescheitert aber ich gebe nicht auf :)
 

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Sorry wenn ich störe aber komme irgendwie nicht wirklich klar. Folgendes...

Ich nehme das beispiel was du mir im JSFiddle oben gezeigt hast.
Nur hab ich den 3'ten punkt "sel2" enfernt und in eine zweite html seite eingegeben.
Jetzt habe ich also seite1.html so wie oben beschrieben und seite2.html
mit dem inhalt:

<form>
<select class="sel2" onchange="change();">
<option>Blabla</option>
<option>awd</option>
<option>awdawd</option>
</select>
</form>

...
Was ich jetzt jedoch nicht versteh ist, wie greift das script auf die seite2.html zu?

------------------------------------
function change() {
var sel1 = document.querySelector('.sel1').value;
var inp = document.querySelector('.inp').value;
var sel2 = document.querySelector('.sel2').value;

document.getElementById("test").value = sel1 + " " + inp + " " + sel2;
}
------------------------------------

var sel2 müsste ich umschreiben aber wie oder wo gebe ich das ein?
Finde die Funktion übrigens sehr interessant aber komme nicht weiter. Würdest mir wirklich sehr helfen.
Vielen Dank
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.026
202
63
17
Naja wenn dein sel2 auf einer 2. Seite ist, dann wird diese ja per iFrame eingebunden. Dein neuer Selektor lautet also iframe .sel2 oder iframe form > select.sel2 oder wie spezifisch du ihn auch immer haben willst. Meines Wissens nach sollte das funktionieren über iframes.
 

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
iframe .sel2 scheint nicht zu funktionieren :( Hab gerade nicht mal das gefühl als würde der nicht mal schnallen das die iframe überhaupt dazu gehört.
Trotzdem thx für deine hilfe
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.026
202
63
17
Tut es auch nicht... habe es selber ausprobiert. Nur wenn etwas nicht funktioniert, dann muss man halt eine Lösung suchen. In der Fehlerkonsole stand:
JavaScript:
Uncaught TypeError: Cannot read property 'value' of null
Was heißt das? Er kann nicht die Value eines nicht existierenden Objekts lesen. Sprich: Er kann nicht so einfach auf den iframe zugreifen.
Mir ist die Lösung auch direkt schon eingefallen, aber weißt du sie nicht, musst du googeln. Ich habe mal testweise einen Suchbegriff eingegeben und das erste Suchergebnis hat mich zum Ziel gebracht.
Das sind hier Basic Debugging Prozesse, die du drauf haben musst!

Das hier:
hört sich für mich danach an, als hättest du das Thema jetzt aufgegeben und machst es jetzt wieder so, wie es funktioniert, also ohne iframe. Es ist eine Scheißidee! Und man kann in einem Forum nachfragen, wenn man selbst Initiative ergriffen hat und trotz dieses grundlegenden Vorgangs nicht weitergekommen ist. Ich war so nett und habe dir den ersten Code vorgekaut. Den zweiten musst du jetzt selber herausfinden und erst wenn du wirklich nicht mehr weiter weist, frage nochmal.
Hier trotzdem noch ein Tipp:
Ein schöner Suchbegriff wäre z.B. javascript get iframe content.
 

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Hey Aaron, nein ich hab nicht aufgegeben. Bin halt neu hier und möchte nicht mit einem meiner probleme nerven. Darum ging es mir. Vielen Dank, ich werde mal danach googlen :)
 

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Ist es eigentlich erlaubt hier zip dateien als attach hoch zu laden?
Hab den Sinn hinter Javascript get iframe content verstanden aber es auch hinzubekommen ist wieder eine weitere sache. Habe versucht iframe per script zu umgehen. Dachte ich kann das system so austricksen :) Aber ne, html war klüger als ich. Ging nicht.
Falls du irgendwie es hinbekommen könntest, Zip sende ich hier mal mit. Wäre mir eine große hilfe. Ich glaube nur wenn ich es sehe werde ich es auch richtig verstehen. Ich kann die 2te Seite auch in die erste einpflegen und fertig wäre es aber ich möchte es wirklich verstehen. Die funktion get iframe content würde mich allgemein interessieren und wäre für verschiedene projekte nutzbar.
 

Anhänge

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.026
202
63
17
Ja du darfst .zip Dateien hochladen. Bei vielen von uns wirst du da aber gegen eine Wand rennen. In solchen Formaten können sich so leicht Viren verstecken, dass ich die Datei nicht herunterladen werde.

Schicke dein Script mal rein und schau in der Fehlerkonsole nach. Die Fehlerneldung könnte dir schon helfen.
 

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Hi, ich noch mal... hatte leider viel zu tun und leider das mit dem iframe nicht wirklich hinbekommen. Auch nicht wild, ich habe nun eine andere Frage :) in dem ersten jsfiddle Beispiel was du mir hier gezeigt hattest... ist es möglich 5-10 radiobuttons unter dem Dropdownmenu zu platzieren die dann auch unten mit angezeigt werden? Irgendwie will das bei mir nicht.
Thanks im voraus.
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.026
202
63
17
Klar ist das Möglich. An diesem Punkt ergibt es aber Sinn mit Schleifen zu arbeiten.
 

RXBeat

Neues Mitglied
9 März 2019
18
0
1
40
Darf ich fragen was du mit Schleifen meinst?
Meine Vorstellung war das unter dem Dropdownmenu 4-5 Zeilen sind, sobald man eine Zeile anklickt, wird die auch in dem Textfeld angezeigt. Irgendwie habe ich es nicht hinbekommen. Weiß leider gerade nicht was du mit Schleife meinst.
 

Aaron3219

Senior HTML'ler
6 Oktober 2015
1.026
202
63
17
Weiß leider gerade nicht was du mit Schleife meinst.
w3schools.com hat hier eine treffende Definition, in diesem Falle für eine forEach-Schleife (es gibt verschiedene Arten von Schleifen), dir sich hier eignen würde:
The forEach() method calls a provided function once for each element in an array, in order.
Quelle: https://www.w3schools.com/jsref/jsref_foreach.asp

In meinem jetzigen Fiddle musst du jedes einzelne Feld als Variable anlegen und in den String setzen. Bei vielen inputs ergibt es aber deutlich mehr Sinn per JS ein form in ein Array zu serialisieren und dann durch das dadurch entstehende Array zu loopen. Dazu viele gute Tutorials im Internet. Ich kann dir hier nur wärmstens
empfehlen. Ich möchte aber auch hinzufügen, dass mein Ansatz hier mit dem normalen Vanilla JS sehr umfangreich wird. Eigentlich sind gerade für sowas libraries wie JQuery da.
Eine andere Möglichkeit wäre, dass du dein form nicht in ein Array serialisierst, sondern einfach einen querySelectorAll setzt. Dieser Selektor enthält dann alle Radio-Buttons. Du setzt dann eine Schleife, die durch jedes Objekt des querySelectorAll geht und liest seine Value aus. Daraus kannst du dann einen String basteln. Auch zu Schleifen kann ich dir die oben genannte Seite empfehlen, falls dir noch nicht ganz klar ist, was ich damit meine.

Wenn dir das alles also eine Nummer zu hoch ist, dann bleibt dir wohl nichts anderes übrig, als den umständlichen Weg zu nehmen und jeden einzelnen radio-button als Variable anzulegen und in den String zu setzen. Behalte aber im Hinterkopf, dass Schleifen essenzielle Bestandteile von eigentlich allen Sprachen sind.
 
Werbung: