Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2280 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript : Pb sur évenement et function

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Javascript : Pb sur évenement et function

n°2127525
hyptnos
GT : Gui iom
Posté le 21-02-2012 à 13:30:29  profilanswer
 

Bonjour à tous.
 
J'ai un gros soucis sur un bout de code, jusqu'a maintenant je croyais que cela fonctionnait bien (tester sur version 6 et 10 de firefox) mais il s'avère que j'ai des client en (beaucoup) en 3.6.1 de Firefox et qu'il ne doivent pas être migrer en version supérieur donc je dois adapter mon code pour que cela fonctionne sur les version divers de firefox :( mais je trouve pas comment et je m'en remet a vous.
 
le pire c'est que je suis prit en dépourvu faut que cela fonctionne aujourd'hui :(
 
Voila le bout de code
 

Code :
  1. //ACTION SUR LES REPONSE VIA OBSERVATEUR D'EVENEMENT JAVASCRIPT  
  2.     $(document).ready(function() {
  3.     /* see if anything is previously checked and reflect that in the view*/
  4.     $(".checklist input:checked" ).parent().addClass("selected" );
  5.      /* handle the user selections */
  6.      $(".checklist .checkbox-select" ).click(
  7.       function(event) {
  8.        // On récupère l'id de la question
  9.        var nameIpt = document.getElementById(this.id).name;
  10.        var tmpQid = nameIpt.split('_');
  11.        var qId = tmpQid[1];
  12.        //On récupère l'option de la question  
  13.         // si opt = 1 alors question multichoix
  14.         // si opt = 0 (par défaut) question choix unique
  15.         var repId = this.id.split('_');
  16.         var idRep = repId[1]
  17.         var opt = document.getElementById('opt_'+idRep).value;
  18.        if( opt == 0 ){
  19.        // on déselectionne toute les réponses.
  20.        verifChk(qId);
  21.        }
  22.        // on coche le checkbox du formulaire (celui qui est invisible)
  23.         var valueBlk = document.getElementById('value_'+idRep);
  24.         valueBlk.value = 'checked';
  25.        event.preventDefault();
  26.        // On sélectionne la bonne réponse (celui qui est visible)
  27.        $(this).parent().addClass("selected" );
  28.        $(this).parent().find(":checkbox" ).attr("checked","checked" );
  29.       }
  30.      );
  31.      $(".checklist .checkbox-deselect" ).click(
  32.       function(event) {
  33.         var repId = this.id.split('_');
  34.         var idRep = repId[1]
  35.         var opt = document.getElementById('opt_'+idRep).value;
  36.         var valueBlk = document.getElementById('value_'+idRep);
  37.         valueBlk.value = '';
  38.        event.preventDefault();
  39.        $(this).parent().removeClass("selected" );
  40.        $(this).parent().find(":checkbox" ).removeAttr("checked" );
  41.       }
  42.      );
  43.     });
  44.    /* Function permettant la progression de la barre en haut de la page  
  45.    * cela directement au modifiant la feuille de style avec la valeur width
  46.    */
  47.    function progress(value){
  48.     document.styleSheets[0].cssRules[34].style.setProperty('width',value,null);
  49.    }
  50.    /* Function qui récupère tous les checkbox de la question associé
  51.    * et qui décoche leur valeur afin de pouvoir via l'action onClick précédente de  
  52.    * de sélectionner la bonne réponse
  53.    */
  54.    function verifChk(qId){
  55.      var i;
  56.      var tabInput = document.getElementsByTagName("input" );
  57.      var n = tabInput.length;
  58.      for (i=0; i<n; i++)
  59.      {
  60.        if (tabInput[i].type.toLowerCase()=="checkbox" )
  61.        {
  62.          var name = tabInput[i].name.split('_');
  63.             if (name[1] == qId)
  64.             {
  65.              document.getElementById('d_'+name[3]).click();
  66.             }
  67.        }
  68.      }
  69.    }


 
et c'est cette ligne la qui pose probleme
 

Code :
  1. document.getElementById('d_'+name[3]).click();


 
j'ai l'erreur suivante
 

Citation :


Erreur : document.getElementById("d_" + name[3]).click is not a function
Fichier Source : http://localhost/MySondage/sondage.php?id=10#
Ligne : 96


 
j'ai essayer de commenter un maximum le code pour que cela soit plus simple de comprendre
 
Avez vous une idée ? vous en remerciant par avance

mood
Publicité
Posté le 21-02-2012 à 13:30:29  profilanswer
 

n°2127535
hyptnos
GT : Gui iom
Posté le 21-02-2012 à 13:53:04  profilanswer
 

Bon et bien j'ai corriger tout seul le soucis en fait les ancienne version de firefox faut leur créer un simulation de click alors que ce fait tout seul pour les version récente

 

J'ai donc rajouter cette fonction

Code :
  1. /* Function permettant lde générer un évenement Onclick sur un element
  2.    * cela directement au modifiant la feuille de style avec la valeur width
  3.    */
  4.    function click_me(element) {
  5.     try { // ie
  6.      document.getElementById(element).click();
  7.     }
  8.     catch(e) {
  9.      var evt = document.createEvent("MouseEvents" ); // création de l'évenement souris
  10.      evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);  // initialisation de l'évenement
  11.      var cb = document.getElementById(element); // création de l'élement en variable
  12.      cb.dispatchEvent(evt);  // envoi de l'évenement onclick via l'élément.
  13.     }
  14.    }
 

et a la place de la ligne qui posait probleme j'ai mis cela

 
Code :
  1. //document.getElementById('d_'+name[3]).click();
  2.              elt = 'd_'+name[3];
  3.              click_me(elt);
 

si cela peut servir à quelqu'un d'autre tant mieu.


Message édité par hyptnos le 21-02-2012 à 13:54:19

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript : Pb sur évenement et function

 

Sujets relatifs
[Javascript] WTF ?projet javascript
Question conne... Le point en Javascript[CSS3] Pb de remonté menu animé
peut-on faire appel a du javascript dans le href de la balise <A>?[Resolu] Refresh page évènement onClick Datatables
code javascriptConseil CMS pour un évènement.
compatibilité javascriptPb affichage Firefow et Safari
Plus de sujets relatifs à : Javascript : Pb sur évenement et function


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR