Javascript dans les messages ne fonctionne plus

3 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Javascript dans les messages ne fonctionne plus

Message par zz10 Mer 18 Aoû 2010 - 17:32

Bonjour,

Après avoir eu les problèmes avec la MAJ Forumactif concernant les évènements javascript (onchange, onclick,etc...). Je viens de m'apercevoir que les feuilles javascript n'ont plus aucun effet à l'intérieur des sujets !!!! Pas de problème en page d'accueil ni dans les forums mais lorsque je suis dans un sujet, tout fout le camp ! Je commence à en avoir plus qu'assez... aidez moi svp.

Merci


Dernière édition par zz10 le Ven 20 Aoû 2010 - 10:30, édité 2 fois
zz10

zz10
Membre actif

Masculin
Messages : 2279
Inscrit(e) le : 04/07/2009

http://www.ice-epinal-forum.com
zz10 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par zz10 Mer 18 Aoû 2010 - 17:59

Visiblement, c'est le code
Code:
window.onload = fonction(){.....}
qui n'a plus d'effet et cela uniquement dans les messages ! Pouvez-vous me confirmer que forumactif a (une fois de plus) fait une MAJ ???
zz10

zz10
Membre actif

Masculin
Messages : 2279
Inscrit(e) le : 04/07/2009

http://www.ice-epinal-forum.com
zz10 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par zz10 Jeu 19 Aoû 2010 - 8:36

up
zz10

zz10
Membre actif

Masculin
Messages : 2279
Inscrit(e) le : 04/07/2009

http://www.ice-epinal-forum.com
zz10 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par Gizmo Jeu 19 Aoû 2010 - 9:53

Bonjour zz10,

Le Javascipt dans les messages peut être la cause de gros problèmes de sécurité pour votre forum.

Il ne peut pas être activé dans le corp de ceux-ci.

Cordialement,
Le support de forumactif
Gizmo

Gizmo
Adminactif
Adminactif

Masculin
Messages : 4579
Inscrit(e) le : 02/05/2004

http://www.google.fr/#hl=fr&q=forumactif
Gizmo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par zz10 Jeu 19 Aoû 2010 - 10:39

Merci de votre réponse. Des heures de boulot qui s'envolent....
zz10

zz10
Membre actif

Masculin
Messages : 2279
Inscrit(e) le : 04/07/2009

http://www.ice-epinal-forum.com
zz10 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par Gizmo Jeu 19 Aoû 2010 - 10:50

En avez-vous réellement besoin ?

Faut-il que nous étudions ce cas de JS dans les messages, sachant que de toute façon nous ne pourrons autoriser QUE les administrateur à poster des messages avec un contenu actif en javascript.

Pourriez-vous nous fournir des exemples d'utilisation de ces JS pour que nous puissions étudier s'il n'exiterai pas une autre méthode pour que vous puissiez en bénéficier ?

Cordialement,
Le support de forumactif
Gizmo

Gizmo
Adminactif
Adminactif

Masculin
Messages : 4579
Inscrit(e) le : 02/05/2004

http://www.google.fr/#hl=fr&q=forumactif
Gizmo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par zz10 Jeu 19 Aoû 2010 - 13:03

Re,

Oui j'en ai réellement besoin. J'utilise le javascript dans le cadre de divers formulaires. Je m'explique :

J'administre un forum de hockey-sur-glace. Après chaque match nous avons pour habitude mes membres et moi-même d'élire les "étoiles du match". Pour ce faire j'ouvre un topic en postant un code HTML qui est en réalité un formulaire. Les membres le remplissent en choisissant la 1ère étoile (meilleur joueur), la 2nd étoile et la 3ème. Une fois le formulaire remplit, l'utilisateur le valide (onclick() sur le bouton). C'est à ce moment que le javascript prend le relais. Mon code javascript récupère la valeur des différents champs et génère automatiquement un code HTML. Une fois le code HTML généré, le code javascript insère le code HTML dans le champ "réponse rapide" situé en bas de page puis le code javascript "clique" sur le bouton "envoyer" qui a pour effet de poster un message.

Voici le code javascript pour les étoiles :

Code:
function genererBBCodeEtoile(){
   var etoile= " :star: ";
   var error = false;
   var bbcode = "";
   var tab_nom = new Array();
   for(i=1;i<=3;i++){
      var nom = document.getElementById("player_etoile_"+i).value;
      var com = document.getElementById("com_etoile_"+i).value;
      if(nom == "?"){
         alert("Merci d'attribuer toutes les etoiles !");
         error = true;
         break;
      }
      switch(i){
         case 1:
            bbcode += etoile+etoile+etoile;
         break;
         case 2:
            bbcode += etoile+etoile;
         break;
         case 3:
            bbcode += etoile;
         break;
         
      
      }
      bbcode += " <b>"+nom+"</b>";
      if(com != ""){
         bbcode += " : "+com;
      }
      bbcode += "<br>";
      tab_nom[i-1] = nom;
      
   }
   if(!error && (tab_nom[0] == tab_nom[1] || tab_nom[0] == tab_nom[2] || tab_nom[1] == tab_nom[2])){
      alert("Veuillez selectionner des joueurs differents !");
      error = true;
   }
   if(!error){   
      document.getElementById("text_editor_textarea").value = bbcode;   
      document.getElementById("quick_reply").post.click();
   }
}


Ceci est un exemple parmi tant d'autres. J'utilise également cette technique pour la présentation des membres, pour un jeu de pronostics...

Si vous souhaitez plus de détails n'hésitez pas Wink
zz10

zz10
Membre actif

Masculin
Messages : 2279
Inscrit(e) le : 04/07/2009

http://www.ice-epinal-forum.com
zz10 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par Ea Jeu 19 Aoû 2010 - 21:59

Bonjour,


Si c'est pour un click sur un bouton et qu'on a :

Code:
<input type="button" value="Envoyer" />
Il suffit de mettre :

Code:
<input type="button" value="Envoyer" class="genererBBCodeEtoile" />
Et lier une page javascript avec un code du genre au forum :

Code:
function genererBBCodeEtoile(){
  var etoile= " :star: ";
  var error = false;
  var bbcode = "";
  var tab_nom = new Array();
  for(i=1;i<=3;i++){
      var nom = document.getElementById("player_etoile_"+i).value;
      var com = document.getElementById("com_etoile_"+i).value;
      if(nom == "?"){
        alert("Merci d'attribuer toutes les etoiles !");
        error = true;
        break;
      }
      switch(i){
        case 1:
            bbcode += etoile+etoile+etoile;
        break;
        case 2:
            bbcode += etoile+etoile;
        break;
        case 3:
            bbcode += etoile;
        break;
       
     
      }
      bbcode += " <b>"+nom+"</b>";
      if(com != ""){
        bbcode += " : "+com;
      }
      bbcode += "<br>";
      tab_nom[i-1] = nom;
     
  }
  if(!error && (tab_nom[0] == tab_nom[1] || tab_nom[0] == tab_nom[2] || tab_nom[1] == tab_nom[2])){
      alert("Veuillez selectionner des joueurs differents !");
      error = true;
  }
  if(!error){ 
      document.getElementById("text_editor_textarea").value = bbcode; 
      document.getElementById("quick_reply").post.click();
  }
}

jQuery('.genererBBCodeEtoile').click(function(){
    genererBBCodeEtoile();
});
Et c'est plus sécuritaire voir ça peut rendre la navigation plus légère vu que la feuille de script n'est chargée qu'une fois alors qu'une page du forum est rechargée à chacune de ses ouvertures ( donc le code de la fonction ne doit pas être re-téléchargé à chaque fois qu'on ouvre la page ).

Je comprends l'utilité d'avoir du javascript dans les messages, mais je suis pas pour le fait de le remettre aux administrateur car la façon de coder avec une feuille javascript externe est pour moi la meilleure ( et beaucoup plus propre, maintenant il faudrait éventuellement quelques tutoriels expliquant aux néophytes quelques trucs qu'ils ont moyen de faire car les possibilités sont énormes ^^ ).

Cordialement.
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par zz10 Ven 20 Aoû 2010 - 9:41

Merci pour ces explications. Comment est-il possible de procéder pour le onchange() ?
zz10

zz10
Membre actif

Masculin
Messages : 2279
Inscrit(e) le : 04/07/2009

http://www.ice-epinal-forum.com
zz10 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par Ea Ven 20 Aoû 2010 - 10:21

Et bien pour le onchange si on a l'objet avec la classe :

Code:
actionChangementA
On peut mettre :

Code:
$('.actionChangementA').change(function() {
  /* code javascript à exécuter */
});
Cordialement.
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Javascript dans les messages ne fonctionne plus

Message par zz10 Ven 20 Aoû 2010 - 10:30

Etana a écrit:Et bien pour le onchange si on a l'objet avec la classe :

Code:
actionChangementA
On peut mettre :

Code:
$('.actionChangementA').change(function() {
  /* code javascript à exécuter */
});
Cordialement.

Super ! Je viens d'apprendre plein de chose. Un grand merci à vous.

Cordialement.
zz10

zz10
Membre actif

Masculin
Messages : 2279
Inscrit(e) le : 04/07/2009

http://www.ice-epinal-forum.com
zz10 a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum