Nochmal ein Hallo an alle,
stehe schon wieder vor einem Problem, diesmal betrifft es aber nur den ie (nur getestet mit Version 11), in allen anderen Browser gehts.
Also folgendes. Ich habe eine MorestepFormular und ein Pflichtfeld Email mit Valisierung auf Email.
Solange das Emailfeld nicht angemeckert wird, kann ich darin rumschreiben wie ich will. Löse ich jedoch eine Fehlermeldung aus, kann ich nur noch einzelne Buchstaben eintragen und nach jedem Buchstaben muss ich erneut in das Emailfeld klicken.
Ich hoffe Ihr könnt mir folgen und einen Tipp geben.
Powermail habe ich schon auf die neuste Version 2.11.2 gehoben aber leider keine Lösung.
Ach und TYPO3 6.2.10
Strange - der Fehler kommt nur beim Mehrschrittformular?
Sorry für die späte Antwort. Ja nur im Mehrschritt und auch nur beim IE. Schalte ich das aus, funktionierts problemlos.
So mein hilfreicher Elf hat mir für die tabs.js wieder ein Schnipsel zukommen lassen. Ist diesmal leider nur ein dreckiger Fix für genau dieses Feld und diese Form aber vieleicht hilft es ja trotzdem jmd, jetzt verliert der IE zumindest nichtmehr den Fokus aus dem Email-Feld.
// IE FIX for wrong keyup event
$(".powermail_form_5 #powermail_field_e_mail").parsley().on("field:error", function(e){
return false;
});
Ich habe genau das gleiche Problem. Multi-step form, IE Browser und bei jedem Feld mit Validierung. Wird ein Fehler angezeigt, kann man immer nur ein Zeichen in das betreffende Feld schreiben und verliert dann den Fokus. Die vorgeschlagene Lösung kann ich nicht verwenden, weil ich nicht die ganze Validierung deaktivieren will.
Ich kann dem entgegenwirken, indem ich den Code in der tabs.js folgendermaßen verändere:
// open tab with error
if (options.openTabOnError) {
$.listen('parsley:field:error', function() {
setTimeout(function() {
$('.powermail_tabmenu > .parsley-error:first').click();
}, 50);
});
}
zu
// open tab with error
if (options.openTabOnError) {
$.listen('parsley:field:error', function() {
var $focused = $(':focus');
setTimeout(function() {
$('.powermail_tabmenu > .parsley-error:first').click();
$focused.focus();
$focused.val($focused.val());
}, 50);
});
}
Ich gebe nach der Prüfung dem Feld den Fokus also automatisch wieder zurück.