Ergebnis 1 bis 7 von 7

Thema: Formular nach Absenden außerhalb Viewport

  1. #1
    Contao-Nutzer
    Registriert seit
    23.04.2010.
    Ort
    Augsburg
    Beiträge
    199

    Standard Formular nach Absenden außerhalb Viewport

    Hallo miteinander,

    ich habe eine Single Page im Aufbau. Bekanntlich gibt's da nur eine Seite.
    Die Kontaktformulare sind ganz unten eingerichtet.
    Wenn ich das Formular absende, erscheint der Anfang der Seite – also ganz oben.
    Das ist vor allem wegen möglicher Falscheingaben seitens des Websitebesuchers recht ungünstig.
    Wie, bitteschön, kann man das Formular im Viewport halten?
    Die einzelnen Rubriken in der Navi sind über #section-1, #section-2, usw. ansprechbar.

    Aus dem Thread "Formular - Springen zum Seitenanfang vermeiden ohne Erweiterung" werde ich leider nicht klug. Ich bitte deshalb um Unterstützung.
    In meinem form.html5 steht die Zeile:
    <form<?php if ($this->action): ?> action="<?= $this->action ?>"<?php endif; ?> id="<?= $this->formId ?>" method="<?= $this->method ?>" enctype="<?= $this->enctype ?>"<?= $this->attributes ?><?= $this->novalidate ?>>

    Ich nehme an, dass da irgendwo das #section-7 (meine Formular-Section) hineinkommt?
    Übrigens, zu finden ist das Kontaktformular unter: kiessling-vk.de . (Ach ja, die Navi ist dort noch gar nicht eingebaut.)

    Vielen Dank für eure Hilfe!
    Gruß
    Thannhäuser

  2. #2
    Contao-Fan
    Registriert seit
    27.06.2010.
    Beiträge
    539

    Standard

    Du könntest mal https://github.com/richardhj/contao-ajax_reload_element testen. Vielleicht funktioniert es ja dafür.

  3. #3
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von thannhäuser Beitrag anzeigen
    In meinem form.html5 steht die Zeile:
    PHP-Code:
    <form<?php if ($this->action): ?> action="<?= $this->action ?>"<?php endif; ?> id="<?= $this->formId ?>" method="<?= $this->method ?>" enctype="<?= $this->enctype ?>"<?= $this->attributes ?><?= $this->novalidate ?>>
    Du kannst versuchen den Hash "#section-6" an die action anzuhängen.
    PHP-Code:
    Alt:
    <?php if ($this->action): ?> action="<?= $this->action ?>"<?php endif; ?>

    Neu:
     action="<?= $this->action $this->action.'#section-6' : \Environment::get('request').'#section-6'?>"
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  4. #4
    Contao-Nutzer
    Registriert seit
    23.04.2010.
    Ort
    Augsburg
    Beiträge
    199

    Standard

    Vielen Dank an euch beide für die Hilfestellung!

    Bevor ich den "Richard-Weg" probiere, probiere ich erst einmal die Lösung über das Contao Template.
    Bevor ich deinen Vorschlag (PHP-Anpassung) kommentieren kann, Andreas, versuche ich das neue form.html5 - Template in das Formular einzugliedern. Nun stelle ich fest, dass es dort gar keine Template-Einbindung gibt!?
    Im Internet recherchiert, bevor ich dumme Fragen stelle, finde ich zu Contao-Formular-Templates leider nichts.
    Gruß
    Thannhäuser

  5. #5
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, das war mir auch aufgefallen. Wenn du dort ein differenziertes Template möchtest, kannst du das z.B. über eine CSS-Klassen Unterscheidung vornehmen. Im Template dann
    PHP-Code:
    if(in_array('myClass'explode(' 'explode('"'$this->attributes)[1])))
    {
      
    // do this

    Evtl. ist da die Behandlung mit JS übersichtlicher.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  6. #6
    Contao-Nutzer
    Registriert seit
    23.04.2010.
    Ort
    Augsburg
    Beiträge
    199

    Standard

    Hallo Andreas!

    Dein PHP-Code scheint genau der richtige zu sein! Das Formular bleibt im Blickfeld und die Übersendung klappt.
    Da ja eine Template-Neueinbindung nicht geht, habe ich es auf die Brachiale gemacht und das Original mit deinem Code überschrieben.

    Vielen Dank für die Hilfe.
    Gruß
    Thannhäuser

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Was heißt "das Original überschrieben"? Du hast doch aber vorher im BE unter Templates ein neues Template angelegt, erstellt aus dem Originaltemplate form.html, oder? Wenn du das dann veränderst, dann wird dieses genommen und das originale bleibt im Core.

    Der Code aus Post #5 war dafür gedacht, dass du die Änderungen im Template davon abhängig machen kannst, ob du dem Formular die CSS-Klasse "myClass" zugewiesen hast. Das solltest du auch so machen.

    Ich persönlich würde das mit JS machen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •