Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 05. November 2019 07:27
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
[GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Hallo!
Ich habe mir gerade das Captcha-Modul installiert, das ich gerne in diversen Formularen auf meinen Webseiten verwenden möchte.
Funktioniert auch so wie es soll, solange man das Captcha richtig eingibt - macht man einen Fehler lädt er die Seite neu und alle Felder sind wieder leer und er springt bei der Seite ganz nach oben (bei einem One-Pager ungünstig).
Wenn man die Emailadresse falsch, keinen Namen oder keine Nachricht eingibt erscheint ein Popup neben dem Feld, dass die Meldung "Name eingeben" o.ä. ausgibt.
Kann ich ein solches Popup auch bei ungültigem Captcha ausgeben?
Bzw. kann man die Fehlerausgabe wieder "altmodisch" über oder unter dem Formular machen?
[EDIT]
Gerade habe ich bemerkt, dass er Fehler im Captcha komplett ignoriert, egal welches Formulartemplate ich wähle.
Ich habe im Captcha-Modul "HN Captcha" ausgewählt.
[\EDIT]
Vielen Dank!
Beitrag geändert von brandy (11. November 2019 14:25)
Offline
#2 11. November 2019 14:11
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Hat jemand von euch Captcha installiert und in Verwendung?
Wie konfiguriere ich es richtig?
Offline
#3 11. November 2019 15:00
- Janl
- Server-Pate
- Ort: Freistadt, Österreich
- Registriert: 13. Dezember 2010
- Beiträge: 1.227
- Webseite
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Welche Version CMSMS, Formbuilder und Captcha?
Ubuntu 16.04 KDE - Kubuntu 18.04 / win10 (1 duo-boot laptop)- LAMP
Raspi 4b mit Ubuntu 20.04 (64bit) und Mate.
Offline
#4 11. November 2019 15:04
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
CMSMS: 1.12.2
Formbuilder: 0.8.1.6
Captcha: 0.5.5 / 1.0 (beide probiert)
Offline
#5 11. November 2019 20:44
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Es kann kein Popup mit Fehlermeldungen geben, weil die Eingaben des Captchas erst auf dem Server geprüft werden. Das Formular wird abgeschickt, ausgewertet und die Seite wird neu geladen. Die Auswertung des Formulars - und somit auch des Captchas - übernimmt der Formbuilder.
Wenn Du willst, dass das Ganze via Ajax im Hintergrund läuft, ohne die komplette Seite neuzuladen, müsstest Du das Formbuilder-Formular entsprechend aufbauen. Ich weiß aber gerade nicht, ob der Fombuilder zur Auswertung des Formulars entsprechende Ajax-Schnittstellen bietet bzw. ob das einfach über den URL-Parameter "showtemplate=false" funktionieren würde.
Dass im Fall einer fehlerhaften Captcha-Eingabe keine Fehlermeldungen angezeigt werden, kann ich nicht nachvollziehen. Im Beispiel Contact-Formular steht über dem Formular "Captcha was not correct." Den Text kann man in den Einstellungen des Formulars im Tab Captcha-Einstellungen selber konfigurieren. Die Fehlermeldung ist aber ohne entsprechende Stylesheets leicht zu übersehen.
Das muss man natürlich noch hübsch machen. Es gibt ein Basis-Css vom Formbuilder. Dass müsstest Du lediglich mit Deinem Seitentemplate verknüpfen. Da sieht die Captcha-Meldung aber immer noch bescheiden aus. Aber in diesem CSS würde ich das dann formatieren.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#6 12. November 2019 07:37
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Das hab ich mir so gedacht!
Kann ich die Fehlermeldungen wieder "oldschool" ausgeben lassen, so dass sie gleich unter oder über dem Formular stehen?
Offline
#7 12. November 2019 14:16
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Aber das tut sie doch normalerweise.
Undzwar dort, wo es im Formulartemplate angegeben ist.
Schau doch einfach mal in die Beispielformulare.
Da steht z.B. direkt über dem Formular:
{if isset($fb_form_has_validation_errors) && $fb_form_has_validation_errors}
<div class="error_message">
<ul>
{foreach from=$fb_form_validation_errors item=thisErr}
<li>{$thisErr}</li>
{/foreach}
</ul>
</div>
{/if}
{if isset($captcha_error) && $captcha_error}
<div class="error_message">{$captcha_error}</div>
{/if}
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#9 13. November 2019 19:09
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Schau doch mal nach dem Absenden mit dem Webinspector Deinen HTML-Code unter dem Formular an.
Da steht alles wichtige drin.
Nur leider in html-Kommentaren.
Keine Ahnung, wie das zustande kommt.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#10 26. November 2019 09:18
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Hallo!
Danke NaN - hab ich jetzt auch gesehen. Woher das kommt kann ich aber nicht nachvollziehen.
Die Formularvorlage sieht eigentlich gut aus:
{* DEFAULT FORM LAYOUT / pure CSS *}
{literal}
<script type="text/javascript">
function fbht(htid)
{
var fbhtc=document.getElementById(htid);
if (fbhtc)
{
if (fbhtc.style.display == 'none')
{
fbhtc.style.display = 'inline';
}
else
{
fbhtc.style.display = 'none';
}
}
}
</script>
{/literal}
{$fb_form_header}
{if $fb_form_done == 1}
{* This first section is for displaying submission errors *}
{if isset($fb_submission_error) && $fb_submission_error}
<div class="error_message">{$fb_submission_error}</div>
{if isset($fb_show_submission_errors) && $fb_show_submission_errors}
<div class="error">
<ul>
{foreach from=$fb_submission_error_list item=thisErr}
<li>{$thisErr}</li>
{/foreach}
</ul>
</div>
{/if}
{/if}
{else}
{* this section is for displaying the form *}
{* we start with validation errors *}
{if isset($fb_form_has_validation_errors) && $fb_form_has_validation_errors}
<div class="error_message">
<ul>
{foreach from=$fb_form_validation_errors item=thisErr}
<li>{$thisErr}</li>
{/foreach}
</ul>
</div>
{/if}
{if isset($captcha_error) && $captcha_error}
<div class="error_message">{$captcha_error}</div>
{/if}
{* and now the form itself *}
{$fb_form_start}
<div>{$fb_hidden}</div>
<div{if $css_class != ''} class="{$css_class}"{/if}>
{if $total_pages gt 1}<span>{$title_page_x_of_y}</span>{/if}
{foreach from=$fields item=entry}
{if $entry->display == 1}
{strip}
{if $entry->needs_div == 1}
<div
{if $entry->required == 1 || $entry->css_class != '' || $entry->valid == 0} class="
{if $entry->required == 1}required{/if}
{if $entry->css_class != ''} {$entry->css_class}{/if}
{if $entry->valid == 0} fb_invalid{/if}
"
{/if}
>
{/if}
{if $entry->hide_name == 0}
<label{if $entry->multiple_parts != 1} for="{$entry->input_id}"{/if}>{$entry->name}
{if $entry->required_symbol != ''}
{$entry->required_symbol}
{/if}
</label>
{/if}
{if $entry->multiple_parts == 1}
{section name=numloop loop=$entry->input}
{if $entry->label_parts == 1}
<div>{$entry->input[numloop]->input} {$entry->input[numloop]->name}</div>
{else}
{$entry->input[numloop]->input}
{/if}
{if isset($entry->input[numloop]->op) && $entry->input[numloop]->op}{$entry->input[numloop]->op}{/if}
{/section}
{else}
{if $entry->smarty_eval == '1'}{eval var=$entry->input}{else}{$entry->input}{/if}
{/if}
{if $entry->helptext != ''} <a href="javascript:fbht('{$entry->field_helptext_id}')"><img src="modules/FormBuilder/images/info-small.gif" alt="Help" /></a>
<span id="{$entry->field_helptext_id}" style="display:none" class="fbr_helptext">{$entry->helptext}</span>{/if}
{if $entry->valid == 0} <--- {$entry->error}{/if}
{if $entry->needs_div == 1}
</div>
{/if}
{/strip}
{/if}
{/foreach}
{if isset($has_captcha) && $has_captcha == 1}
<div class="captcha">{$graphic_captcha}{$title_captcha}<br />{$input_captcha}</div>
{/if}
<div class="submit">{$prev}{$submit}</div>
</div>
{$fb_form_end}
{/if}
{$fb_form_footer}
Offline
#11 28. November 2019 09:05
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Geh mal Deine Seitentemplates/Inhalte durch.
Ich vermute Du hast den Formbuilder doppelt.
Einmal im Inhalt und einmal im Template.
Eines davon steht vermutlich in Kommentaren.
Dummerweise wird genau das, was in Kommentaren steht beim Absenden des Formulars angesteuert. Stichworte "Inline" vs. "Standard Inhaltsblock".
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#12 03. Dezember 2019 13:33
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Hallo!
Vielen Dank, ich hab jetzt das Formular auf "inline" gestellt - nun funktioniert es - grundsätzlich.
Jedoch springt er mir bei falsch ausgefüllten Captcha wieder nach oben an den Start der Seite.
Wo kann ich einstellen, dass er mir bei einem Fehler zu einem anchor springt?
Vielen Dank!
Offline
#13 06. Dezember 2019 13:31
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Wo kann ich einstellen, dass er mir bei einem Fehler zu einem anchor springt?
Das kann man nirgends einstellen.
Das ist normal, wenn eine Seite neu geladen wird.
Du kannst das lediglich via Javascript steuern.
Entweder Du hängst vor dem Absenden des Formulars noch einen Anker hintendran.
Oder Du prüfst beim Laden der Seite, ob die Seite geladen wurde, weil das Formular gerade abgesendet wurde und wenn ja, lässt Du einfach zu der Stelle scrollen, wo sich das Formuar befindet.
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#14 09. Dezember 2019 22:52
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Hab mich schlecht ausgedrückt - klar kann man dies nicht einfach einstellen.
Meine Frage wäre, ob ich es z.B. beim form action-Tag dazugeben kann - also quasi
<form action="site.com#anchor">
Da es ein One-Pager ist, sollte es ja kein Problem sein.
Wo findet man den form-Tag?
Offline
#15 12. Dezember 2019 15:02
- NaN
- Moderator
- Ort: Halle (Saale)
- Registriert: 09. November 2010
- Beiträge: 4.435
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Da es ein One-Pager ist, sollte es ja kein Problem sein.
Wo findet man den form-Tag?
Und genau da liegt das Problem.
Der Form-Tag lautet im Template {$fb_form_start}.
Und er gibt mehr aus, als nur <form action="...">.
Da kommen dann noch ein paar hidden-Fields dazu, in denen Anweisungen an das CMS stehen, damit es auch weiß, wem dieses Formular gilt, und damit dieser jemand weiß was er damit machen soll.
Da wirst Du einen Anker nur mit Änderungen am Modul oder im Template mit RegexReplace hinzufügen können.
Letzteres ginge so:
{$fb_form_start|regex_replace:'@action=[\'"]([^\'^"]+)[\'"]@i':'action="$1#DEIN_ANKER"'}
Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)
Offline
#16 18. Dezember 2019 05:47
- brandy
- Server-Pate
- Registriert: 05. Juni 2011
- Beiträge: 799
- Webseite
Re: [GELÖST] Formbuilder Captcha Fehlerausgabe im Formular
Vielen Dank!
Funktioniert bestens!
Dankesehr!
Offline
Seiten: 1