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

Denselben Wert in einem Formular anzeigen UND speichern

Zuallererst möchte ich mich bei Sempervivum bedanken.
Und das nicht nur, weil er mir bei einem Teil meines Gesamtkonzeptes behilflich war.
Sondern vor allem für den freundlichen und hilfsbereiten Umgangston.

Und dann möchte ich mich bei Basti "entschuldigen".
Ich habe Deinen Kommentar #20 gerade eben erst entdeckt.
Sicherlich bin ich, wie bestimmt auch andere bestehende und zukünftige Forenuser, an einer weiteren Alternative interessiert.
Wenn ich das richtig verstehe bräuchte man dann quasi keine festen Platzhalter, die man füllt oder eben ausblendet wenn die Parameter leer sind richtig?
Dann wäre man extrem flexibel stimmts?

Beispiel 1:

?A=1&B=2&C=3&D=4&E=5&F=6&G=7

schreibt A B C D E F G

Beispiel 2:

?A=1&B=2&C=&D=4&E=&F=6&G=7&H=8&I=9 usw.

schreibt A B D F G H I

Beispiel 3:

?B=X&D=&E=&H=Y&G=&F=Z

schreibt X Y Z

Also es ist quasi egal ob, wie viele und wie die parameter angeordnet sind.

Die werden zerhackt und untereinander dargestellt.
 
Werbung:
Hi Sempervivum!

Habe Deinen "Invisible Code" mal ausprobiert, aber irgendwie klappt das mit meiner Container Id nicht. Also der Text wird zwar nicht dargestellt, aber die leeren Formularfelder sind noch sichtbar.

<div class="container mt-3">
<div class="id-of-container">

<input type="text" id="out-B" readonly>
<input type="text" id="out-D" readonly>
<input type="text" id="out-F" readonly>

</div>
 
Wenn ich das richtig verstehe bräuchte man dann quasi keine festen Platzhalter, die man füllt oder eben ausblendet wenn die Parameter leer sind richtig?
Dann wäre man extrem flexibel stimmts?
Kommt auch immer darauf an was du vorhast usw.
In diesen Fall wäre das gar nicht so schwer mit PHP (wenn man PHP kann).
Kannst du PHP ?

Ich muss Sempervivum auch recht geben.
Der erklärt das immer sehr gut.
Auch die Kommentare, die im Code stehen, helfen beim Verstehen des Codes.

Wenn du PHP noch gar nicht kannst, wäre es auch blöd, wenn du gar nichts verstehst, was der Code macht.

Die werden zerhackt und untereinander dargestellt.
Dazu müsste man den Code sehen der im Browser ankommt.
Wenn ich dich richtig verstehe was du meinst , ist das mit CSS zu Regeln.
 
Werbung:
Also PHP steht noch als "To Learn" auf meiner Liste.

Wenn wir das Ganze mal auf ein Minimum reduzieren:

<!DOCTYPE html>
<html>
<head>
</head>
<body>

Hier steht sonst nix!

</body>
</html>

Und wir URL Parameter hätten wie: ?A=1&B=2&C=3&D=4&E=5&F=6&G=7

Wie würde der PHP Code dann aussehen, damit da statt "Hier steht sonst nix!" A B C D E F G steht?
 
Meinst Du dann so?

<div class="container mt-3">
<div id="id-of-container">

<input type="text" id="out-B" readonly>
<input type="text" id="out-D" readonly>
<input type="text" id="out-F" readonly>

</div>
 
Seltsam, mein mir bleiben die leeren Felder stehen.

Liegt das eventuell daran das ich ja noch die anderen zu füllenden Felder habe und die über CSS designt sind.

Muss ich da einen zweiten CSS Block für diesen Container bauen?
 
Werbung:
Ich glaube das du mit PHP erst noch etwas warten solltest.
Verstehe erstmal das, was das Javascript hier macht und so weiter.
Es bringt dir auch nichts, wenn dir PHP und Javascript gleichzeitig um die Ohren fliegt und du nur die Hälfte verstehst.
Lerne erst eine Sprache und wenn du da fit bist fang mit der nächsten an.
Wichtig ist auch das verstehen.
Sempervivum hat das alles schön im Code erklärt, so das man das auch als Anfänger gut verstehen kann.

Man könnte den JS Code auch auf 8 Zeilen kürzen.
Dann kommt aber wieder das
Und häufig ist es so, dass es 3, 4, 5 oder mehr Sätze braucht, um einen 1- oder 2-Zeiler zu erklären. Da poste ich lieber den Code mit angemessenen Kommentaren, damit der Fragesteller es auch versteht.
Ich könnte das nicht mal in 40 Sätzen erklären.
Ob der Code dann noch best Practise ist , das ist dann noch nee ganze andere Frage.

Lerne es gleich vernünftig.
Das kürzen , optimieren usw. kommt dann von ganz alleine
 
Also ...

ich habe den geschlossen Container (hoffe ich zu mindestens):

Code:
<div class="container mt-3">
<div id="id-of-container">

<input type="text" id="out-B" readonly>
<input type="text" id="out-D" readonly>
<input type="text" id="out-F" readonly>
</div>
</div>

und ich habe Deinen Code:

Code:
var hiddenFields = document.querySelectorAll("input[type=hidden], input[type=text]");
            for (var i = 0; i < hiddenFields.length; i++) {
                var param = sessionStorage.getItem(hiddenFields[i].name);
                if (param) {
                    // document.getElementsByName(hiddenFields.name)[0].value = param;
                    // document.getElementById('out-' + hiddenFields.name).textContent = param;
                    hiddenFields[i].value = param;
                    // Dieses kommt hinzu: Werte auch in die h6-Elemente eintragen:
                    const out = document.getElementById('out-' + hiddenFields[i].name);
                    if (out) {
                        out.value = param;
                    }
                }
            }
            
            if (noParams) {
                document.getElementById('id-of-container').innerHTML = '';
            }
        } // hier fehlte eine schließende Klammer
        setTimeout(function () {
            queryForm();
        }, 100);

Aber, leider, immer noch die leeren Felder ...

Oder fehlt da wieder eine Klammer?
 
Der Wahnsinn ...

... jetzt habe ich doch tatsächlich ein Tränchen im Auge.

Ich schreibe jetzt nicht, das ich einen längeren Zeitraum nach dieser Gesamtlösung gesucht habe. Und ich schreibe auch nicht, das ich fast schon die Hoffnung verloren hatte.

Herzlichen Dank für dieses Geschenk
 
Werbung:
Hi Sempervivum!

Wollte nur kurz Bescheid geben, das der Code bisher, auch in verschiedenen Variationen, einwandfrei funktioniert.

Danke nochmal

P.S. Gruss an Basti
 
Zurück
Oben