Hallo Matthias,
es ist schwer für mich aus deinen Fehlerbeschreibungen schlau zu werden.
Am einfachsten wäre es wohl, wenn ich mir das Formular online ansehen
könnte.
Bitte schreib mir per E-Mail und wir gehen das nächste Woche gemeinsam
durch.
Viele Grüße,
Reinhard
Am 31.01.2013 03:41, schrieb Matthias Eberlein:
Hallo Reinhard,
entschuldigung Angenommen :-)
Ganz Ehrlich, ich bin Dankbar Überhaupt Gratis Support sozusagen zu
bekommen. Egal ob es sich um Formhandler geht oder andere Probleme wo
man nicht mehr weiter weiß.
OK. Nun bin ich schon seit einiger Zeit bei Diesem Multistep und anderen
Forms und es scheint Fast zu Laufen. Aber nur Fast.
Irgendwie will Die Ajax Validierung nach step-1 nicht funktionieren. Das
ist jetzt aber nicht das große Problem.
Ein Problem macht mir Kopfzerbrechen, und zwar folgendes. Um es besser
zu veranschaulichen mal ein teil des scripts welches du ja kennst. aus
dem basis für multisteps mit conditions ganz unten angehängt
Wie man sehen kann gibt es zu Auswahl 3 Options. Die ersten beiden
Optionen gehen bis Step-5, die Option 3 Special besitzt jedoch nur 2
steps. Wählt man nun Diese Option -> step 2 geht -> step 3 geht ->>>
Submit geht nicht. Er versuch immer weite nach step 4 welches nicht
Existiert. Kein Error Template missing oder der gleichen. Nur kein
Submit möglich.
Alle anderen Optionen gehen alle ihre Steps sauber durch. Und das mit
AJAX ;-)
Template von ###master_multipart-form-start auf ###master_form-start_
geändert.
Das andere welches ich nicht in den Griff bekommen ist das auf der Seite
(startpage) Dieses Multistep Form enthalten ist und im Footer Bereich
habe ich ein Newsletter Subscribe mit Name ,email Und Private Policity
Checkbox incl Submit-ok Template. Alles required fields. Nach submit ist
wird die erste Form (multistepform) Inaktiv.
Im Master Template sind für die submit Buttons KEINE
###validation-status### enthalten. autoDisableSubmitButton = 0 Trotzdem
bleib der Button disabled="disabled"
Das gleiche Problem ist Umgekehrt. Wenn erst Die Multiform Submit und
danach ein Newsletter gewählt wird ist Newsletter Inaktiv.
<input type="submit" name="newslettersubmit[step-2-next]" class="button
submit" value="Send" id="newslettersubmit-submit" disabled="disabled"/>
Jede Form hat seine submitButtonSelector.
wie z.B Newslettersubmit
submitButtonSelector = #formhandler_newsletter_form #NewsletterSubmit
INPUT[type=\'submit\']
Jede form hat Ihre ID
jquery alias habe ich auf $ für alle forms
Weiters Problem,
Selectbox Validierung
Folgendes Szenario.
Drei Optionen (vier)
0 Bitte Wählen Sie
1 Option 1
2 Option 2
3 Option 3
Geht man mit TAB die Form durch und wählt nichts mit der Maus aus der
selectbox aus wird das "Bitte Wählen Sie" Validiert und auf OK gesetzt.
Also hilft nur
option value=""></option>
für Position 0
OK. Damit kann man aber Leben, denn es gibt ja ein Label zur Selectbox.
Nur meine Frage, ist es nicht möglich die genaue Position zu Validieren?
poss.0=notok
poss.1=ok usw
In der Doku habe ich nichts gefunden.
Letztes Problem, ich kann nich von einem Step wieder zurrück zu dem
vorherigen step.
###submit_step_[1]### Zeigt mit im source code den validen step zurück
an aber es geht nur vor.
allowStepJumps = 1
Jetzt fällt mir grade ein ich habe das im ajax part???
OK, reich für heute. soll nicht wieder 7Uhr morgens werden.
Wäre Dankbar für den ein oder anderen Hinweis
Gruß
Matthias
if {
1 {
conditions.OR1.AND1 = position = Examples1
isTrue {
2 {
templateSuffix = _example
}
3 {
templateSuffix = _example1
}
4 {
templateSuffix = _example3
}
5 {
templateSuffix = _example4
}
}
}
2 {
conditions.OR1.AND1 = position = Examples2
isTrue {
2 {
templateSuffix = _example
}
3 {
templateSuffix = _example1
}
4 {
templateSuffix = _example3
}
5 {
templateSuffix = _example4
}
}
}
3 {
conditions.OR1.AND1 = position = Special
isTrue {
2 {
templateSuffix = _special1
}
3 {
templateSuffix = _special2
}
}
}
}
Am 30.01.2013 10:55, schrieb Reinhard Führicht:
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
--------------------------------
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german