TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Powermail und jQuery nebeneinader möglich?


Autor Nachricht
Verfasst am: 02. 03. 2010 [16:30]
flanders
Themenersteller
Dabei seit: 06.06.2003
Beiträge: 267
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>


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


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

ProfilWWW
Verfasst am: 02. 03. 2010 [17:22]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
Das hast du gesehen?
http://forge.typo3.org/issues/show/4762

ProfilWWW
Verfasst am: 03. 03. 2010 [15:10]
flanders
Themenersteller
Dabei seit: 06.06.2003
Beiträge: 267
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>


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"icon_wink.gif; reingeschrieben.

PHP
// Add Javascript after form output for mandatory check
	function AddMandatoryJS() {
		if($this->conf['libraryToUse'] == 'jquery'){
		$js = '
			<script type="text/javascript">
				function formCallback(result, form) {
					window.status = "valiation callback for form " + form.id + ": result = " + result;
					alert("asdf&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" />;
				}
				var valid = new Validation("#'.$this->OuterMarkerArray['###POWERMAIL_NAME###'].'", {immediate : true, onFormValidate : formCallback, focusOnError: true});
 
			</script>
		';
	}else{		
		$js = '
			<script type="text/javascript">
 
 
				function formCallback(result, form) {
					window.status = "valiation callback for form \'" + form.id + "\': result = " + result;
					alert("asdf&quot<img src="typo3conf/ext/mm_forum//res/smilies/icon_wink.gif" alt="icon_wink.gif" />;
				}
				var valid = new Validation(\'' . $this->OuterMarkerArray['###POWERMAIL_NAME###'] . '\', {immediate : true, onFormValidate : formCallback});
			</script>
		';
	}
		return $js;
	}


Das wird auch nach Cache leeren nicht ausgegeben. Es wird immer das selbe ausgegeben icon_frown.gif
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>


Liegt das vielleicht daran?

ProfilWWW
Verfasst am: 12. 07. 2010 [18:46]
TheFreeman
Dabei seit: 08.07.2006
Beiträge: 442
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? icon_cool.gif

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

Je mehr ich weiss, desto mehr weiss ich, wie wenig ich weiss.
Profil
Verfasst am: 13. 07. 2010 [11:08]
einpraegsam.net
Moderator
Dabei seit: 17.01.2005
Beiträge: 8607
TheFreeman schrieb:

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? icon_cool.gif

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


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.

ProfilWWW
Verfasst am: 27. 08. 2010 [15:34]
TheFreeman
Dabei seit: 08.07.2006
Beiträge: 442
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:

HTML
<script src="fileadmin/sys_scripts/jquery/jquery-1.4.2.min.js?1282225634" type="text/javascript"></script>
<script src="typo3conf/ext/powermail/js/jquery/tx_powermail.js?1282899687" type="text/javascript"></script>
<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. banghead.gif

Je mehr ich weiss, desto mehr weiss ich, wie wenig ich weiss.
Profil
Verfasst am: 27. 08. 2010 [15:49]
TheFreeman
Dabei seit: 08.07.2006
Beiträge: 442
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. icon_cool.gif

Je mehr ich weiss, desto mehr weiss ich, wie wenig ich weiss.
Profil