Joomla 5 Notice

We are pleased to announce that as of January 29, 2024, all of our Joomla extensions are compatible with Joomla 5.

For all who are still updateing from Joomla 3 to Joomla 4: Joomla 4 Migration instructions are available here:

There is now a separate Documentation for Visforms for Joomla 4 and for Visforms for Joomla 5!

Forum

Visforms Subscription user can ask questions in our forum. Please log in with the relevant user first.
Everybody can access the forum for reading.

Please only ask 1 question per topic.

Uncaught TypeError: jQuery(...).displayChanger is not a function

More
6 years 5 months ago #4855 by Sanchos
Hallo
Ich habe seit dem update von Joomla und Visforms das Problem, dass der Submitt Button deaktiviert bleibt. Habe dann wie im FAQ beschrieben, versucht rauszufinden, ob die Seite JavaScript Probleme hat.
hier die zwei Fehler:
Code:
Uncaught TypeError: jQuery(...).displayChanger is not a function at HTMLDocument.<anonymous> (visforms.js:603) at i () at Object.fireWith [as resolveWith] () at Function.ready () at HTMLDocument.K () gutscheine:219 Uncaught TypeError: jQuery(...).validate is not a function at HTMLDocument.<anonymous> (gutscheine:219) at n () at Object.fireWith () at Function.ready () at HTMLDocument.B ()
Finde aber nicht raus wo genau das Problem liegt..
Kann mir da jemand helfen?

Link zum Formular:
**http://mtrs.ch/gutscheine/test

More
6 years 5 months ago #4856 by Administrator AV
Hallo,

in deinem Fall ist es das Template selbst, dass ein veraltetes jQuery in nicht Joomla! konformer Weise einbindet.
In den Entwicklertools kannst du in der "Inspektor"-Ansicht sehen, dass im head-Element deiner Seite folgendes Script eingebunden wird.
/templates/delition/js/jquery.js
Das darf man bei Joomla! mittlerweile so nicht mehr machen.
Erstens ist das ein jQuery 1.7, was völlig veraltet ist aber noch schlimmer ist, dass aufgrund der Art und Weise, wie das Script eingebunden wird, dieses das bereits vorhandene jQuery, das von Joomla! kommt, komplett "auslöscht" (überschreibt). Da aber Visforms seinen Javascript-Funktonen an das von Joomla! kommende jQuery gehängt hat, sind nun die Visforms-Funktonen auch weg. Das erzeugt den Fehler.

Du musst es irgendwie hinbekommen, dass dein Template das Joomla! jQuery verwendet und dieses in Joomla! konformer Weise lädt, denn dann stellt Joomla! sicher, dass es nur genau 1 x geladen wird und alle es dann benutzen.

Gruß,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

More
5 years 10 months ago #5564 by Blacksmith
Hallo

Ist das immer so, wenn dieser Fehler auftritt oder nur in dem Fall den Sanchos beschrieben hat?

Was mich etwas stutzig macht: Ich habe den gleichen Fehler nur in Google Chrome, nicht aber in FireFox (neuste Versionen jeweils)! Also um genau zu sein: In Chrome habe ich den ausgegrauten <Submit>-Button und finde in der Console den Fehler - in FireFox funktioniert der Button und das Mail wird versandt. Kann natürlich sein, dass da trotzdem ein Fehler ist und FireFox den einfach überspringt...

Wenn diese Einbindung generell falsch ist (was ich auf Grund Deiner Beschreibung so verstehe) dann sollte es doch in keinem Browser mehr funktionieren?

Leider verstehe ich nicht genug von JavaScript und PHP - kann also nur hoffen, dass die Entwickler des Template das irgendwie fixen werden.... Den Fehler möglichst präzise zu beschreiben zu können wäre da sicher hilfreich.

Mit freundlichem Gruss
W. Schütz


Link zu meinem Formular:
www.dog-cart-thurgau.ch/index.php/vor-re...rung-weinfelden-2018

More
5 years 10 months ago #5565 by Administrator AV
Hallo,

soweit ich weiß ist dass immer so.
In deinem Fall findet sich Folgendes:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
Ich glaube das kommt vom Template.
Der Fehler tritt bei mir auch im Firefox (aktuelleste Version) auf.

Das in folgendem Forumsbeitrag erwähnte Tool kann dir vielleicht helfen, auch wenn du nicht so viel von Javascript und php verstehst. vi-solutions.de/de/support/forum/19-joom...-button-inaktiv#4993

Gruß,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

More
5 years 10 months ago #5566 by Blacksmith
Hallo

Herzlichen Dank!

>Der Fehler tritt bei mir auch im Firefox (aktuelleste Version) auf.
Heisst das, dass bei Dir <SUBMIT> aus FireFox nicht möglich war? Ich konnte mir nachweislich ein Mail aus Firefox senden! Der <SUBMIT> Buttonist aktiv. In der FireFox Konsole habe ich jetzt allerdings die Message:
Code:
Laden fehlgeschlagen für das <script> mit der Quelle "http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js".
gefunden.

Danke Deines Hinweises, welches Script den Fehler auslöst konnte ich dieses lokalisieren: Im index.php des Allerta Templates hat es tatsächlich so eine Zeile - und nur genau da kommt auf Zeile 47 '1.8.3/jquery.min.js' vor, nirgendwo sonst den Scripten! Wie Du wissen kannst, dass es dieses und nicht eines der vielen anderen '*.js' auf der Seite ist, hat sich mir als Joomla-Laie nicht erschlossen, das könnte für andere ev. noch hilfreich sein und verhindern, dass jeder Einzeln danach fragt.
Code:
<!-- Google Font --> <link href='http://fonts.googleapis.com/css?family=<?php echo $this->params->get('googleFont');?>:<?php echo $this->params->get('googleFontWeight');?>&subset=<?php echo $this->params->get('googleFontCharacter');?>' rel='stylesheet' type='text/css' /> <?php require("admin/params.php"); ?> <?php if ($jquery == 'yes' ) : ?> [color=red]<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>[/color] <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery.noconflict.js"></script> <?php endif; ?> <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/js/jquery.matchHeight-min.js"></script> <script type="text/javascript"> jQuery(document).ready(function() { jQuery('#user1 .module, #user2 .module').matchHeight(); }); </script>

Eine Schalter für die Konfiguration habe ich nicht gefunden (obwohl das PHP, so wie ich das verstehe, vermuten lässt, dass es einen solchen geben muss)...

Das würde aber wohl auch nichts nützen! Ich habe '($jquery == 'yes' )' auf '($jquery == 'yss' )' geändert (immer diese Bastler...) und nachher auch noch die ganze Zeile
Code:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
entfernt. Beides führt zum gleichen Resultat: Der <SUBMIT>-Button funktioniert! ABER auf allen anderen Seiten gibt es dann haufenweise Fehler! Ich nehme nicht an, dass die anderen Seiten so noch funktionieren...


Ich habe jetzt das EOR - Easy Output Replacer Downloads - Plugin installiert und knofiguriert. Genial! Das Tool ist extrem mächtig. Das ist einerseits voll geil, andererseits aber auch gefährlich: Man stelle sich vor, dass man eine Regle für alle Seiten erstellt, die dann plötzlich in Momenten angewandt wird, wo man es nicht erwartet... Also diesen Fehler möchte ich dann nicht suchen müssen!


P.S.
>Der Fehler tritt bei mir auch im Firefox (aktuelleste Version) auf.
Hmm, wie ich jetzt auf Grund Deiner Beobachtung (zusätzliches DANKE), dass es bei Dir einen Fehler gibt, herausgefunden habe: Das Script lädt in FireFox auch auf allen anderen Seiten nicht! Keine Ahnung was das alles bewirkt (oder wohl besser, was da alles nicht ausgeführt wird)! Also muss ich jetzt wohl doch noch ins PHP einsteigen und das irgendwie Flicken... Mal schauen, ob ich im Web dafür eine Anleitung finde, wie man alte Templates in diesem Falle fixt.

More
5 years 10 months ago #5570 by Administrator AV
Hallo,

dieses problematische jQuery wird ja von einer externen Resource (Google) geladen. Offensichtlich ist dein Firefox so eingestellt, dass er das Laden einer solchen Datei von so einer externen Resource nicht erlaubt. Deshalb wird die Datei dort bei dir nicht geladen und deshalb, wird Visforms auch nicht gestört.Mein Firefox ist offensichtlich anders eingestellt. Das hat aber nicht mit der Firefox Version zu tun, sondernw wie gesagt mti den Einstellungen.

Vom Ergebnis her hast du dann dasselbe wie wenn du die jQuery 1.8.3 Datei in deinem Template rausnimmst.

Die korrekte Weise jQuery in das Template einzubinden wäre, hierfür den vom Joomla! Framework vorgesehen Aufruf zu verwenden (anstatt, explizit ein <script> tag einzufügen)
Code:
JHtml::_('jquery.framework');

Dieser Aufruf muss im php Code stehen. Also z.B. direct hinter der Zeile
Code:
defined('_JEXEC') or die;

und vor dem schließenden ?> bzw. eben zwischen einem
Code:
<?php und einem ?>
(In der Datei index.php die direkt in deinem Template Verzeichnis liegt, also im Verzeichnis templates/meinTemplateName).

Joomla! kommt aktuell mit jQuery 1.12.4. Ich weiß, dass es in der jQuery 1er Reihe mal einen Kompatiblitäts-Sprung gab aber ich glaube der war eher zwischen 1.3 und 1.4, so dass es gut möglich ist, dass der ganze Javascript Code des Templates, für das dieses jQuery braucht auch mit der Version 1.12.4 läuft, die du über eben beschriebenen weg sehr einfach korrekt einbauen kannst, so dass andere Erweiterungen nicht geschädigt werden. D.h. über diese einfach Änderung könntest du alle Javascsript-Fehler auf der Seite beheben.

Gruß,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum