Conflit mootools-more et fonction alert

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Conflit mootools-more et fonction alert

    Bonjour,

    Je suis en train de développer un site sous J2.5.9. J'utilise notamment les composants JCE et JEA.
    J'ai une page de formulaire (soumission de bien immobilier JEA) avec un champ texte ( géré par JCE).

    Quand je valide le formulaire, j'ai une erreur Javascript. Sur Chrome, l'erreur est "Uncaught TypeError: Property 'alert' of object [object Object] is not a function". J'ai volontairement laissé un champ vide dans mon formulaire pour obtenir un échec de validation du formulaire.

    Voici le code Javascript de validation
    Code:
    Joomla.submitbutton = function(task) {	  
    	    if (task == 'property.cancel' || document.formvalidator.isValid(document.id('adminForm'))) {    
    	      <?php echo $this->form->getField('description')->save(); ?>
    	      Joomla.submitform(task);
    	    } else {
    	      alert('<?php echo $this->escape(JText::_('JGLOBAL_VALIDATION_FORM_FAILED'));?>');
    	    }
    	  }
    et le bouton de validation
    Code HTML:
    <button type="button" onclick="Joomla.submitbutton('property.applyl')">
    Quand on veut ouvrir la fenêtre d'erreur avec la fonction alert, j'ai donc l'erreur ci-dessus. Le problème se produit sur tous les navigateurs.

    A priori, le problème vient d'un conflit avec mootools-more.js. Pour trouver que le conflit vient bien de là, j'ai désactivé tous les scripts.
    Quand j'ai désactivé mootools-more.js, le "alert" fonctionnait correctement. Quand j'ai réactivé mootools-more.js, le alert ne fonctionnait plus. Est-ce que quelqu'un aurait une idée pour corriger le problème?
    J'ai bien pensé à désactivé mootools-more mais il me semble indispensable pour certains tooltips et calendriers qui sont, je pense, utilisés par l'éditeur de texte JCE.

    Tiens d'ailleurs, il est possible de le tester avec jsfiddle . Dans le jsfiddle, le code est réduit au strict minimum. Enlevez juste la ligne mootools-more et vous verrez que le code marche.
    Dernière édition par titchagui à 06/04/2013, 14h46
    Création de sites internet et bloggeur web : http://www.titchagcreation.com.
    Dispo sur twitter aussi : Titchag'Création sur Twitter
    Et aussi utilisateur de Joomla!

  • #2
    Re : Conflit mootools-more et fonction alert

    Salut,
    j'utilise aussi JEA en cas de site immobilier, qui est un composant bien fait et très flexible.
    J'ai une page de formulaire (soumission de bien immobilier JEA) avec un champ texte ( géré par JCE).
    Mais là, je ne comprends pas ton souci.
    La soumission de bien immobilier dont tu parles est bien celle en front-end ?
    Chez moi, ca fonctionne ss pb.
    As-tu modifié qq chose qq part ?
    Ou as-tu voulu faire qq chose de spécifique ?
    “Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter le nouveau service (en Beta) de la base de connaissance https://kb.joomla.fr

    Commentaire


    • #3
      Re : Conflit mootools-more et fonction alert

      Salut,

      Est-ce que tu as bien une messagebox de type Javascript lorsque tu ne rentres pas certains champs obligatoires? Pour le champ texte, je ne suis pas sûr que ça ait un impact mais je l'ai mis au cas où car JCE ajoute quelques scripts.
      Lorsque je remplis le formulaire correctement, le formulaire est bien validé.
      Si le formulaire contient des erreurs, la page est rechargée avec un message d'erreur de type Joomla en début de formulaire or on devrait avoir une boite de type alert().

      Pour me dépanner, j'ai remplacé la boite alert() par une boite Jquery colorbox. Pour la fonction alert(), ce n'est pas la première fois que je tombe sur ce genre d'erreur avec un site sous Joomla.

      Pour info, j'ai rendu certains champs obligatoires mais ça n'a aucun impact sur ce comportement.
      Création de sites internet et bloggeur web : http://www.titchagcreation.com.
      Dispo sur twitter aussi : Titchag'Création sur Twitter
      Et aussi utilisateur de Joomla!

      Commentaire

      Annonce

      Réduire
      1 sur 2 < >

      C'est [Réglé] et on n'en parle plus ?

      A quoi ça sert ?
      La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

      Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

      Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
      Comment ajouter la mention [Réglé] à votre discussion ?
      1 - Aller sur votre discussion et éditer votre premier message :


      2 - Cliquer sur la liste déroulante Préfixe.

      3 - Choisir le préfixe [Réglé].


      4 - Et voilà… votre discussion est désormais identifiée comme réglée.

      2 sur 2 < >

      Assistance au forum - Outil de publication d'infos de votre site

      Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

      Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

      Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

      UTILISER À VOS PROPRES RISQUES :
      L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

      Problèmes connus :
      FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

      Installation :

      1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

      Archive zip : https://github.com/AFUJ/FPA/zipball/master

      2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

      3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

      4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

      5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

      6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
      et remplacer www. votresite .com par votre nom de domaine


      Exemples:
      Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
      Télécharger le script fpa-fr.php dans: /public_html/
      Pour executer le script: http://www..com/fpa-fr.php

      Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
      Télécharger le script fpa-fr.php dans: /public_html/cms/
      Pour executer le script: http://www..com/cms/fpa-fr.php

      En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

      Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
      Voir plus
      Voir moins
      Travaille ...
      X