Oberer Bereich des Formulars verschwindet hinter Navigationsleiste

ms-aht schrieb am 21.08.2018 um 19:05 Uhr

Hallo,

ich nutze den WebDesigner 12....

Mit "Jotform" habe ich ein mehrseitiges Formular gebaut, dass ich via iFrame im WD eingebunden habe.

Die "mehreren Seiten" werden dann per Jotform dargestellt, beim WD erscheint das dann alle im besagten iFrame-Fenster.

Das Problem dabei: Die erste Seite des Formulars erscheint komplett sichtbar. Wenn der Interessent dann die erste Seite ausgefüllt hat und die zweite/dritte/vierte Seite erscheint, dann ist der obere Bereich regelmäßig hinter der Navigationsleiste versteckt und man muss erst wieder herunter scrollen, um den oberen Bereich des Formulars lesen zu können.

So sollte es aussehen:

So sieht es aber leider aus, nachdem Jotform jeweils auf die Folgeseiten wechselt (=der obere Rand ist verdeckt; rutscht also zu hoch):

Das Foto oder den "Kasten" hatte ich schon auf "Fest" gestellt, aber alles ohne Erfolg.

Ich glaube mal irgendwo die Lösung dazu gelesen zu haben, aber ich kann es nicht mehr finden.

Daher versuche ich es nochmal hier im Forum.

Die Webseite dazu: www.maische.pumpenteile.com

Um es zu testen, muss das Formular "Anfrage" auf der ersten Seite ausgefüllt und auf die zweite Seite gewechselt werden, dann sieht man, was ich meine.

Vielen Dank vorab!

VG, Michael

Kommentare

marboe schrieb am 22.08.2018 um 07:53 Uhr

Hallo Michael,

ich kann dein Problem leider nicht nachvollziehen.

Alle sieben Fragen blieben sichtbar am immergleichen Ort. Getestet mit Firefox.

Gruß Marboe

ms-aht schrieb am 22.08.2018 um 12:35 Uhr

Hallo Marboe,

danke für's prüfen!

Du hast allerdings die Funktion "KONTAKT" genutzt. Dort ist das neue "Jotform-CARDS" in Nutzung, d.h. jede Frage erscheint auf einer eigenen Seite. Daher ist das "Dokument" auch immer gleich groß.

Bei "ANFRAGEN" habe ich jedoch das klassisch Formular von Jotform verwendet. Daher entstehen jedoch unterschiedliche Formulargrößen (je Seite).

Und wenn man dann von Seite 1 (die passend angezeigt wird) auf Seite 2 (oder von 2 auf 3, etc.) wechselt, dann erscheint die jeweils neue Seite immer schon etwas nach unten verschoben (grün markiert), so dass der obere Rand von der Navigationsleiste verdeckt wird.

 

https://www.maische.pumpenteile.com/anfrage.htm

Hier der direkte Link zur Seite.

Ich habe die Pflichtfelder deaktiviert, man kann also direkt unten auf "Weiter" gehen und sehen was passiert.

VG Michael

marboe schrieb am 22.08.2018 um 13:17 Uhr

Hallo Michael,

sorry, da hatte ich die falsche Seite.
Aber dennoch: auf der Anfrageseite hat es bei mir dennoch geklappt.

1. Seite mit kleinem Darstellungsproblem (wahrscheinlich die Seite im WD nicht lang genug?)

2. Seite

3. Seite

Alle Anzeigen sind im aktuellen Firefox in Ordnung.

 

Ergänzung:

Meinst du vielleicht, dass auf der 2. und 3. Seite man kurz nach unten scrollen muss um das ganze Formularfeld zu sehen?

Das dürfte an den Einstellungen hier liegen:

Dort seht im Code: [...]onload="window.parent.scrollTo(0,0)" [...]
Wenn du das änderst auf die Höhe deines roten Headerbereichs, dann könnte das vielleicht vermieden werden. Messe es mal aus. Wenn ich schätze zB Höhe 40 Pixel, dann müsste der Code so angepasst werden:

[Codeschnippsel entfernt, da falsch ... sorry]

Gruß Marboe

ms-aht schrieb am 22.08.2018 um 13:38 Uhr

Hallo Marboe,

danke für's nochmal anschauen. Bei mir ist das aber leider bei FIREFOX und CHROME das gleiche Problem... Schade... :-(

Gibt's denn keine Möglichkeit, die Seite auf die "oben Position" zu zwingen?

VG Michael

marboe schrieb am 22.08.2018 um 13:55 Uhr

die Seite auf die "oben Position" zu zwingen?

Ja, den gibt es bestimmt.

Leider war mein Code sowieso falsch.
Du bekommst hier aber sicher noch die richtige Hilfe 😁 Wir haben hier so einige Cracks rumlaufen ...

Gruß marboe

BeRo schrieb am 22.08.2018 um 16:35 Uhr

@marboe hatte schon den richtigen "Riecher" 😊

Die Anweisung "window.parent.scrollTo(0,0);"
gehört aber zusätzlich noch an der Stelle in den Scriptcode, wo das Formular per JS Funktion verwaltet wird.
Öffne die exportierte Seite "anfrage.htm" mit einem einfachen Texteditor und such' den Eintrag "if (!iframe) { return; }". Darunter fügst Du eine neue Zeile ein, mit dem Inhalt "window.parent.scrollTo(0,0);"

Da Du auch eine Variante für Mobilgeräte angelegt hast, ist die Zeile "if (!iframe) { return; }" 2x vorhanden. Du musst die neue Zeile also auch 2x einfügen.

Wie das aussieht, wenn Du alles richtig gemacht hast, dass kannst Du hier ansehen.

Viel Erfolg 👍

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

ms-aht schrieb am 22.08.2018 um 17:05 Uhr

Unfassbar - vielen Dank BeRo!!!!

Jetzt funktioniert es wie es soll! Danke, Danke!

Woher weiss man sowas? Ich meine, ich überlege, suche und prüfe das Netz auf und ab, bevor ich hier etwas hilfesuchend poste. Aber dann kommen immer noch Helfer wie Du (oder auch marboe) ins Spiel und können da hilfreich einen draufsetzen.

An dieser Stelle ganz herzlichen Dank an marboe, BeRo und die anderen, "üblichen Verdächtigen", die hier hilfreich zur Seite stehen. Ich lese schon sehr lange hier mit und frage mich, was wir (User) aber auch Magix ohne Euch machen würden. Ich hoffe "die" (Magix) wissen das zu schätzen... denn ohne Euch wäre der WebDesigner nur halb so attraktiv. DANKE! 😊

LG, Michael

ms-aht schrieb am 23.08.2018 um 19:06 Uhr

Hallo BeRo,

ich muss hier nochmals nachfragen: (Es geht in der Folge um die mobile Variante!)

Bei der Version "für den PC" funktioniert das, was Du mir oben erklärt hast einwandfrei, also "Dein" Code, zusammen mit dem iFrame.

Bei der mobilen Seite jedoch leider nicht. Wobei das zuerst mal weniger an Deinem Code liegt, als vielmehr daran, dass die Seite in der Häfte abgeschnitten wird. Das kann man auch bei Deiner Demo oben gut nachvollziehen, wenn man die Anzeige in die mobile Variante "zwingt".

Wenn ich nun, anstatt iFrame bei JotForm den kürzeren "EMBED-Code" anfordere und diesen auf der mobilen Seite einfüge, dann habe ich das komplette Formular sichtbar, so wie es sein soll.

Nur weiss ich dabei nicht, wie/wo ich den/Deinen Code einfüge, damit die Anzeige nicht wieder zu hoch rutscht.

Schaust Du bitte dazu nochmal nach?! Die Seite habe ich aktualisiert mit iFrame auf der Desktop und "EMBED" auf der mobilen Seite. (Dein Code ist bei der Desktopseite aber noch nicht wieder eingefügt worden nach dem "Update", es geht mir ja hier auch nur um die mobile Variante -also was ich hier hinzufügen muss.

UND: Mir fällt auf, dass bei der Ansicht auf dem Desktop (Chrome) das Formular nicht immer zuverlässig angezeigt wird. Mal ja, Mal nein, Mal nur nach klicken und bewegen. Mit Firefox funktioniert es besser. Kann man daran etwas verbessern?

Dankeschön!

VG Michael

PS: Der EMBED-Code: <script type="text/javascript" src="https://form.jotformeu.com/jsform/81984237276367"></script>

BeRo schrieb am 24.08.2018 um 00:27 Uhr

[...] es geht mir ja hier auch nur um die mobile Variante -also was ich hier hinzufügen muss. [...]

Dafür gibt es leider keinen "Schnellschuss" .😇

Das Problem liegt tiefer, weil hier der WD eingreift. Wenn ein Scriptcode gleichzeitig für Desktop- und mobile Varianten eingesetzt wird, stellt der WD sich oft quer.
Weil er für beide Varianten eine einzige HTML Datei benutzt, kommt es zu Kollisionen mit Variablen und IDs, die i. d. R. nur als Unikat verwendet werden dürfen...

Ein vergleichbares Problem haben wir vor ein paar Jahren schon mal gehabt (und gelöst). Guckst Du hier.

Ich könnte mir denken, dass Dein aktuelles Problem (Sprung zum Seitenanfang) sich eher lösen lässt, wenn Du das grundsätzliche Problem mit identischen Formularen auf den Varianten Seiten gelöst hast.

Probier's mal

Viel Erfolg

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓