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

Fokus im eigentlichen Sinn

nd16

Neues Mitglied
Hi @ all, bin der neue und komme bestimmt öfter mal vorbei :)

Nun zu meinem Anliegen.

Ich habe eine Website (Zend-Framework, jQuery) und auf dieser ist ein Formular.
Der Button auf diesem Formular sendet dieses nicht direkt ab sondern löst erst einige Prüfungen aus und sendet, wenn diese positiv sind, das Form "manuell ab".

Nun kann mein Formular sehr lang werden da es dynamische Bereiche hat.
Daher möchte ich im Fehlerfall mit dem Bildschirm auf genau das Element "springen", welches den Fehler auslöst. Lokalisiert hab ich das Element schon und den focus() setzt ich auf dieses Element auch schon. Eine Fehlermeldung (Hoverbox) erscheint dann auch, nur nutzt das dem user wenig, weil diese eventuell außerhalb des Bildschirmausschnittes ist.

Hat jemand eine Idee wie ich so etwas mit JavaScript bzw jQuery lösen kann?
Code:
// wenn Feld leer
if( $('#element').val() == '' )
{          
  // zeige Fehlerbox
  $('#name_hover').css
  (
   {
    top: $('#element').position().top - 18,
    left: $('#form-box').position().left + 400
   }
  ).show();
                    
   // fucus auf das Feld
   $('#element').focus();
   // Springe mit Ansicht auf das Feld
   "$('#element').zeigeAufDasElement() ???"
}
mfg ND
 
Also willst du die Fehlerbox bei dem fokussierten Feld haben. Setze das Fehlermeldungsfeld auf absolut und hole dir per jQuery die Position des zu fokussierenden Elementes. Nun kannst du die Fehlerbox positionieren wie du magst, da du ja die Position des Elementes hast. Ein Beispiel wäre die Box links neben dem Fehlerfeld zu platzieren.
 
Zurück
Oben