[TYPO3-german] Formhandler - 2 step form ajax Valdierung & submit/next geht nur in step 1

Reinhard Führicht fuehricht at gmx.at
Wed Jan 30 11:55:09 CET 2013


Hallo Matthias,

das Problem ist folgendes:

Du hast 2 unterschiedliche formIDs für die Steps. Durch den AJAX-Submit 
wird nicht die ganze Seite neu geladen, sondern nur das Formular.

Dadurch kann Formhandler kein neues JavaScript mit der neuen formID 
generieren.

Lösung:

Verwende die gleiche formID für alle Steps.

PS: Das Problem mit der jsPosition ist in der SVN-Version gelöst.

Viele Grüße,
Reinhard

Am 30.01.2013 11:15, schrieb Reinhard Führicht:
> Hallo Matthias,
>
> entschuldige die späte Antwort.
>
> Das Problem mit jsPosition sollte sich schnell lösen lassen. Die Option
> wird im Code an der falschen Stelle verarbeitet.
>
> Ich lege mir mal ein Testformular an und versuche das zu reproduzieren.
>
> Ich habe mir hier ein Ticket angelegt, in dem ich meine Erkenntnisse
> posten werde: http://forge.typo3.org/issues/44959
>
> Viele Grüße,
> Reinhard
>
> Am 25.01.2013 20:43, schrieb Matthias Eberlein:
>> Hallo Reinhard,
>> erst einmal Vielen Dank für Deine Mühe und Antwort auf mein
>> Anliegen(problem).
>>
>> Nun ich habe jetzt erst einmal auf die neuste svn Revision von Heute
>> einen Update gemacht und wie du beschrieben den Eintrag im Bugtracker
>> 44387 angeschaut und diesen patch angewandt.
>> Jedoch tut sich keine Änderung am Problem. Ich habe für die 2 Steps
>> jeweils separate ID's vergeben und zwar so:
>>
>>     1.formID = online-booking-form-step1
>>
>>     2.formID = online-booking-form-step2
>>
>> Und das im Globalen Setup bereich.
>> HTML Template Form
>>
>> ###master_multipart-form-start_online-booking-form-step1###
>> ###master_multipart-form-start_online-booking-form-step2###
>>
>> AjaxSubmit habe ich mal auf 0 gesetzt. Nun nach clear chache kann ich
>> folgendes im source sehen. Trotzt jsPosition = footer wird das Jquery
>> script in den header geschrieben. Da all meine scripts incl. Jquery im
>> footer sitzen kann natürlich kein ajax validieren. Wenn ich nun das form
>> ausfülle (zum test habe ich in jedem step nur ein feld) step-1 schau in
>> source Jquery für step-1 ist vorhanden. -> next step-2 schaue in source
>> = jQuery für beide steps vorhanden. Also funktioniert es wie Du schon
>> sagtest. Nur bei mir nicht, da meine jQuery halt im footer sitzt. Gut,
>> Aktiviere ich nun ajaxSubmit = 1 und schau in den Source sitzt das
>> jQuery Validierungs Script wieder schön unten im footer bereich wo ich
>> es gerne hätte.
>>
>> Also Schlussvolgerung ist nun, dass wenn  KEIN AjaxSubmit
>>          ajaxSubmit = 0
>>          jsPosition = footer
>>
>>
>> dann greift auch nicht jsPosition = footer Nicht.
>>
>> Mit AjaxSubmit
>>
>>          ajaxSubmit = 1
>>          jsPosition = footer
>>
>> greift die jsPosition = footer funktion und der 1. Step wird mit ajax
>> Validiert -> go to next Step geht auch ohne page reload also auch ajax.
>> Nur vom 2. Step fehlt die Validierungs Jquery.
>>
>> Ein Versuch für jeden Step die Ajax einzubinden scheitert mit kein ajax
>> im source.
>>
>> 1.ajax { }
>> 2.ajax { }
>>
>> Wird zwar zu jeden Step zugewiesen (TYPOscript Object Browser) aber im
>> FE nicht ausgegeben.
>>
>> So nun stehe ich auf dem schlauch... Denn wenn ich das so als Multistep
>> form Verwenden möchte muss ajax submit & Validieren funktionieren.
>> Ansonsten bleibt mir dann nichts anderes übrig erst einmal nur 1-steps
>> forms zu verwenden und das halt für 3 versionen in 3 x jQuery Tabs zum
>> auswählen.
>>
>> Gruß
>> Matthias
>>
>>
>>
>>
>>
>> Am 25.01.2013 08:03, schrieb Reinhard Führicht:
>>> Hallo Matthias,
>>>
>>> es ist möglich Multistep-Formulare per AJAX zu validieren.
>>> Ich habe das gerade getestet und es funktioniert wunderbar.
>>>
>>> Es gibt ein Problem mit ajaxSubmit i nder aktuellen Version im TER. Hier
>>> der Eintrag im Bugtracker: http://forge.typo3.org/issues/44387
>>>
>>> Ohne ajaxSubmit funktioniert es aber auf jeden Fall. Möglicherweise
>>> liegt es an einer fehlenden formID im zweiten Step?
>>>
>>> Viele Grüße,
>>> Reinhard
>>>
>>> Am 24.01.2013 19:24, schrieb Matthias Eberlein:
>>>> Hallo Liste,
>>>> ich habe mich einmal an der Ext. formhandler herangewagt und versuche
>>>> ein 2 Step Formular zusammen zustellen. Das ganze Form funktioniert
>>>> auch
>>>> wenn man keine Ajax Validierung verwendet. Sobald ich auf ajax umstelle
>>>> wir nur der erste step min ajax validiert, der 2. bekommt keine ajax
>>>> validierung. Ein blick im Quellcode, dort fällt auf das nur für den
>>>> ersten step die jQuery Validierung im Quellcode vorhanden ist nich für
>>>> den 2. step. Somit kommt auch keine akax validierung für step 2
>>>> zustande.
>>>>
>>>> Die ajax aktivierung  und die finishers habe ich sozusagen global im ts
>>>> und die preProcessors, validators der 2 steps jeweils separat in
>>>> 1 {} 2 {}. Habe mir erlaubt einmal die grobe script strucktur hier zu
>>>> posten. Kann mir jemand sagen wo der fehler dabei ligt oder ist es
>>>> nicht
>>>> möglich multistep forms mit ajax zu validieren und zu submit?
>>>>
>>>> Für einen Tipp wäre ich euch sehr Dankbar
>>>> Gruß
>>>> Matthias Eberlein
>>>>
>>>> ps. wenn ich die ajax aktievierung in die einzelenen steps mit aufnehme
>>>> und nicht global wird ajax nicht aktiviert.
>>>>
>>>> plugin.Tx_Formhandler.settings.predef.multiform {
>>>>
>>>> name =
>>>> formID =
>>>> formValuesPrefix =
>>>>
>>>> langFile.1
>>>> langFile.1.value
>>>>
>>>> 1.templateFile
>>>> 1.templateFile.value
>>>> 2.templateFile
>>>> 2.templateFile.value
>>>>
>>>> masterTemplateFile
>>>> masterTemplateFile.value
>>>>
>>>> isErrorMarker {
>>>> }
>>>> singleErrorTemplate {
>>>> }
>>>>
>>>> finishers {
>>>> }
>>>>
>>>>    ajax {
>>>>      class = AjaxHandler_JQuery
>>>>      config {
>>>>          ajaxSubmit = 1
>>>>          jsPosition = footer
>>>>      notOk =
>>>>      ok =
>>>>      loading =
>>>>      autoDisableSubmitButton =
>>>> 1 {
>>>>   markers {
>>>> ...
>>>> }
>>>>
>>>> preProcessors {
>>>> ...
>>>> }
>>>> validators {
>>>> ...
>>>> }
>>>> }
>>>>
>>>>
>>>> 2 {
>>>> preProcessors {
>>>> ...
>>>> }
>>>> validators {
>>>> ...
>>>> }
>>>>
>>>> }
>>>> }
>>>
>>>
>>
>
>


-- 
--------------------------------
http://www.typo3-formhandler.com
--------------------------------


More information about the TYPO3-german mailing list