Hi,
der Focus auf dem ersten Formularfeld ist ein Feature, das ich aus Gründen der Barrierefreiheit und ausdrücklichen Wunsch vieler Nutzer eingeführt habe.
Aber dein Einwand ist natürlich berechtigt, dass das in diesem Fall eher stört. Dies ist aber bei Formularen, die via Menü angezeigt werden eher die Ausnahme. Wenn Visforms mit Hilfe des Plugins vfformview in einem Beitrag angezeigt wird, oder wenn es mit Hilfe eines Moduls und des Joomla! plugins loadposition in einem Beitrag angezeigt wird, wird der Focus nicht gesetzt, weil dort der lange Text über dem Formular eher Standard ist.
Prinzipiell ist es möglich auch für die Anzeige des Formulars über ein Menü das Setzen des Focus zu unterbinden. Hierzu muss man ein Override im Template anlegen, denn der Focus wird mit Hilfe von Javascript direkt in den "View-Dateien" gesetzt und diese könne mittels Template-Override überschrieben werden.
Je nachdem, welches Layout du für dein Formular gewählt hast, sind das unterschiedliche Dateien.
Standard-Layout -> default_visforms.php
Standard Bootstrap Layout und Horizontales Boostrap Layout -> default_btdefault.php
Mehrspaltaiges Layout -> default_mcindividual.php
Für das Override musst du die entsprechende Datei aus dem Verzeichnis components/com_visforms/views/visforms/tmpl in das Verzeichnis templates/meinTemplate/html/com_visforms/visforms kopieren und anschließend in der kopierten Datei in deinem Template Verzeichnis den Code
Code:
if (($this->firstControl == true) && ((!(isset($field->isDisabled))) || ($field->isDisabled == false)))
{
$script= '';
$script .= 'jQuery(document).ready( function(){';
$script .= 'jQuery("#'. $field->errorId.'").focus();';
$script .= '});';
$doc = JFactory::getDocument();
$doc->addScriptDeclaration($script);
$this->firstControl = false;
}
auskommentieren (indem du ganz am Anfang vor das "if" /* setzt und hinter die schließende geschweifte Klammer ganz am Ende */) oder du kannst den Codeabschnitt auch einfach rauslöschen.
Der betreffende Code beginnt immer etwa ab Zeile 50.
Herzliche Grüße,
Aicha