Powermail und jQuery nebeneinader möglich?

  • flanders flanders
    Jedi-Meister
    0 x
    267 Beiträge
    0 Hilfreiche Beiträge
    02. 03. 2010, 16:30

    Hallo Forum,

    ich habe eine Internetseite die ein paar Spielereien, mittels jQuery, beinhaltet.
    Wenn ich nun ein Powermail-Formular einbaue, wird keine Validierung (vom Email-Feld) vorgenommen. Ich habe herrausgefunden, dass es mit jQuery zu tun hat. Denn wenn ich die jQuery-Library rausnehme, funktioniert die Validierung von Powermail wunderbar!

    So wird gar nicht validiert, und es kommt zu JS-Fehlern.
    [HTML]<script src="typo3conf/ext/powermail/js/mandatoryjs/lib/prototype.js" type="text/javascript"></script>
    <script src="typo3conf/ext/powermail/js/mandatoryjs/src/effects.js" type="text/javascript"></script>
    <script src="typo3conf/ext/powermail/js/mandatoryjs/fabtabulous.js" type="text/javascript"></script>
    <script src="typo3conf/ext/powermail/js/checkbox/checkbox.js" type="text/javascript"></script>
    <script src="typo3temp/javascript_93077bb238.js" type="text/javascript"></script>

    <link rel="shortcut icon" href="/fileadmin/favicon.ico" />
    <link rel="stylesheet" type="text/css" href="/fileadmin/css/global.css" />
    <script type="text/javascript" src="/fileadmin/js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="/fileadmin/js/jquery.tools.min.js"></script>
    <script type="text/javascript" src="/fileadmin/js/scripts.js"></script>

    <!--[if lte IE 6]>
    <script type="text/javascript" src="/js/unitpngfix.js"></script>
    <link rel="stylesheet" type="text/css" href="/css/ie6.css" />
    <![endif]-->

    <script src="8.3131.html" type="text/javascript"></script>
    <script type="text/javascript" src="t3lib/jsfunc.validateform.js"></script>
    [/HTML]

    Fehler im Firebug:
    [HTML]Error: element.attachEvent is not a function
    Source File: http://xxxxx/typo3conf/ext/powermail/js/mandatoryjs/lib/prototype.js
    Line: 4017

    Error: element.dispatchEvent is not a function
    Source File: http://xxxxx/typo3conf/ext/powermail/js/mandatoryjs/lib/prototype.js
    Line: 4072

    Error: this.element.getElementsByTagName is not a function
    Source File: http://xxxxx/typo3conf/ext/powermail/js/mandatoryjs/fabtabulous.js
    Line: 16
    [/HTML]

    Gibt es eine Möglichkeit, dass beide Frameworks (jQuery und Prototype) nebeneinader existieren können?


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    02. 03. 2010, 17:22

    Das hast du gesehen?
    http://forge.typo3.org/issues/show/4762

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • flanders flanders
    Jedi-Meister
    0 x
    267 Beiträge
    0 Hilfreiche Beiträge
    03. 03. 2010, 15:10

    Hallo Alex,

    ne diesen Link kannte ich noch nicht. Ich habe die Änderungen per Hand vollzogen.
    Es tauchen auch nun keine Fehler mehr im Firebug auf. Aber trotzdem wird das Email-Feld nicht validiert. Das Feld Email ist auch im Backend richtig eingestellt. Das Formular wird einfach verschickt.

    Hier nochmal der Header:

    [HTML]<script src="typo3conf/ext/powermail/js/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
    <script src="typo3conf/ext/powermail/js/jquery/tx_powermail.js" type="text/javascript"></script>
    <script src="typo3conf/ext/powermail/js/checkbox/checkbox.js" type="text/javascript"></script>
    <script src="typo3temp/javascript_93077bb238.js" type="text/javascript"></script>

    <link rel="shortcut icon" href="/fileadmin/favicon.ico" />
    <link rel="stylesheet" type="text/css" href="/fileadmin/css/global.css" />
    <script type="text/javascript" src="/fileadmin/js/jquery-1.3.2.min.js"></script>

    <script type="text/javascript" src="/fileadmin/js/jquery.tools.min.js"></script>
    <script type="text/javascript" src="/fileadmin/js/scripts.js"></script>
    <script src="8.3131.html" type="text/javascript"></script>
    <script type="text/javascript" src="t3lib/jsfunc.validateform.js"></script>
    [/HTML]

    Ich weiß, dass jquery-1.3.2.min.js 2x drin ist. Aber auch wenn es nur 1x drin ist, funktioniert die Validierung nicht. Es ist 2x drin, da Powermail sein JS-Code nur in die betreffende Seite einbindt. Ich benötige mein jQuery aber auf alle Seiten. Darum ist es auf der Formular-Seite 2x vorhanden.

    Ich habe den Eindruck, dass der JS-Code im HTML nicht richtig durch die class.tx_powermail_form.php ausgegeben wird. Ich habe mal class.tx_powermail_form.php ein alert("asdf"); reingeschrieben.

    1. // Add Javascript after form output for mandatory check
    2. function AddMandatoryJS() {
    3. if($this->conf['libraryToUse'] == 'jquery'){
    4. $js = '
    5. <script type="text/javascript">
    6. function formCallback(result, form) {
    7. window.status = "valiation callback for form " + form.id + ": result = " + result;
    8. alert("asdf");
    9. }
    10. var valid = new Validation("#'.$this->OuterMarkerArray['###POWERMAIL_NAME###'].'", {immediate : true, onFormValidate : formCallback, focusOnError: true});
    11.  
    12. </script>
    13. ';
    14. }else{
    15. $js = '
    16. <script type="text/javascript">
    17.  
    18.  
    19. function formCallback(result, form) {
    20. window.status = "valiation callback for form \'" + form.id + "\': result = " + result;
    21. alert("asdf");
    22. }
    23. var valid = new Validation(\'' . $this->OuterMarkerArray['###POWERMAIL_NAME###'] . '\', {immediate : true, onFormValidate : formCallback});
    24. </script>
    25. ';
    26. }
    27. return $js;
    28. }

    Das wird auch nach Cache leeren nicht ausgegeben. Es wird immer das selbe ausgegeben :(
    [HTML]<script type="text/javascript">
    function formCallback(result, form) {
    window.status = "valiation callback for form '" + form.id + "': result = " + result;
    }
    var valid = new Validation('kontaktaufimpressum', {immediate : true, onFormValidate : formCallback});
    </script>
    [/HTML]

    Liegt das vielleicht daran?

  • TheFreeman TheFreema...
    Jedi-Meister
    0 x
    504 Beiträge
    0 Hilfreiche Beiträge
    12. 07. 2010, 18:46

    Hat denn jemand von Euch eine gepatchte Powermail 1.5.3 und könnte mir die bitte zum Download irgendwo hinlegen oder per Mail schicken? 8-)

    Wäre echt sehr lieb, denn ich kann die .patch nicht ausführen.

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    13. 07. 2010, 11:08

    [quote="TheFreeman"]
    Hat denn jemand von Euch eine gepatchte Powermail 1.5.3 und könnte mir die bitte zum Download irgendwo hinlegen oder per Mail schicken? 8-)

    Wäre echt sehr lieb, denn ich kann die .patch nicht ausführen.
    [/quote]

    Ich habe ein Arbeitsversion, die ich dir zur Verfügung stellen kann. Diese unterstützt nur noch jQuery (mit t3jquery im noConflictMode). Bei Interesse bitte E-Mail.

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • TheFreeman TheFreema...
    Jedi-Meister
    0 x
    504 Beiträge
    0 Hilfreiche Beiträge
    27. 08. 2010, 15:34

    Ich habe nun die gepatchte 1.5.3 auf meinem 4.4.2 laufen.
    Die für jQeury nötigen Scripts werden von powermail ordnungsgemäß eingebunden:

    1. <script src="fileadmin/sys_scripts/jquery/jquery-1.4.2.min.js?1282225634" type="text/javascript"></script>
    2. <script src="typo3conf/ext/powermail/js/jquery/tx_powermail.js?1282899687" type="text/javascript"></script>
    3. <script src="typo3conf/ext/powermail/js/misc/misc.js?1282899687" type="text/javascript"></script>

    Aber die JS-Prüfung funktioniert trotzdem nicht.
    An was kann das liegen?

    Sonst sind keine anderen Scripts eingebunden und
    auch KEINE anderen Frameworks. #angry#

  • TheFreeman TheFreema...
    Jedi-Meister
    0 x
    504 Beiträge
    0 Hilfreiche Beiträge
    27. 08. 2010, 15:49

    Ahh....

    Habs gerade gesehen:
    http://forge.typo3.org/issues/4762

    Mein patch war vor dem 22.08.2010.
    Mal sehen, ob´s mit dem Neuen geht. 8-)

  • 1