IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Traitement javascript différent


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 70
    Points : 53
    Points
    53
    Par défaut Traitement javascript différent
    Bonjour!

    Je suis confronté à un nouveau problème :/

    Suite à ce que j'ai fais ici , il semble que le javascript soit traité différemment.

    Je m'explique. Je fais un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var tableValeurs=$('trHoraires').getElementsByTagName('input');
    je parcours ensuite ce tableau et concatène les id de chaque input du tableau récupéré.

    Le tableau est le suivant: (c'est un tableau d'horaires)



    Et donc l'affichage des id (celui voulu et obtenu depuis le document html)
    Chaque input (4 par ligne dans l'image ci dessus, 4 inputs par lignes dans le code ci dessus)
    (AheureDebut1-1-BheureDebut1-1)(AheureFin1-1-BheureFin1-1)
    (AheureDebut1-2-BheureDebut1-2)(AheureFin1-2-BheureFin1-2)
    (AheureDebut2-1-BheureDebut2-1)(AheureFin2-1-BheureFin2-1)
    (AheureDebut4-1-BheureDebut4-1)(AheureFin4-1-BheureFin4-1)
    (AheureDebut5-1-BheureDebut5-1)(AheureFin5-1-BheureFin5-1)
    (AheureDebut5-2-BheureDebut5-2)(AheureFin5-2-BheureFin5-2)
    Ensuite celui obtenu depuis la fonction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shell_exec('c:/wkhtmltopdf/wkhtmltopdf --enable-javascript --javascript-delay 2000 "http://localhost/mapage.php" C:/Temp/29.pdf 2>> err5.txt');
    J'ai concaténé la aussi sur une partie du docuement pour voir si j'avais les mêmes résultats, mais j'obtiens ceci:
    (AheureDebut1-1-BheureDebut1-1)(AheureFin1-1-BheureFin1-1)
    (AheureDebut2-1-BheureDebut2-1)(AheureFin2-1-BheureFin2-1)
    (AheureDebut3-1-BheureDebut3-1)(AheureFin3-1-BheureFin3-1)
    (AheureDebut4-1-BheureDebut4-1)(AheureFin4-1-BheureFin4-1)
    (AheureDebut5-1-BheureDebut5-1)(AheureFin5-1-BheureFin5-1)
    (AheureDebut6-1-BheureDebut6-1)(AheureFin6-1-BheureFin6-1)

    Je n’obtiens pas le même code (en gras ce qui diffère)... sauriez vous pourquoi?

    Merci!

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    En donnant ton code complet, ça serait peu etre plus simple de trouver ce qui ne va pas.

    si tu utilise jquery, plutôt que de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var tableValeurs=$('trHoraires').getElementsByTagName('input');
    pour boucler sur tes inputs tu devrais plutôt faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('tr input').each(function( index ) {
      alert( $(this).val() );
    });
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    Merci d'avoir répondu.

    En fait, il y a beaucoup de code, mais c'est vrai que je pouvais en afficher plus.

    Tout d'abord, je n'utilise pas jquery mais prototype.

    Ensuite, faire un "alert" ne peut pas me servir, vu qu'il n'apparaîtra pas après la génération du pdf, c'est pourquoi j'ai plutôt fait une modification d'un élément dans le document html, pour que je puisse voir ce qu'affiche les résultats dans mon pdf.

    Le code un peu plus complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var tableValeurs=$('trHoraires').getElementsByTagName('input');	
     
    for(var i=1;i<tableValeurs.length;i=i+4){
         var timeDebut = getTime(tableValeurs[i].value,tableValeurs[i+1].value).getTime();				
         var timeFin = getTime(tableValeurs[i+2].value,tableValeurs[i+3].value).getTime();
     
        $('testHTML').innerHTML+="\n("+tableValeurs[i].id+"-"+tableValeurs[i+1].id+"-"+tableValeurs[i+2].id+"-"+tableValeurs[i+3].id+") \n";//Mon test d'affichage des id (résultats donnés dans le premier post)
     
         var jour=getInnerText(tableValeurs[i].parentNode.firstChild).substring(0,10);
         calculTabHtm(timeDebut,timeFin,jour); //fait des calculs en fonction des horaires du tableau
    }
    Comme vous le voyez, j'ai besoin d'avoir les même id affichés au même moment pour faire mes calculs....

    J'ai pour l'affichage du document html:
    (AheureDebut1-1-BheureDebut1-1-AheureFin1-1-BheureFin1-1)
    (AheureDebut1-2-BheureDebut1-2-AheureFin1-2-BheureFin1-2)
    (AheureDebut2-1-BheureDebut2-1-AheureFin2-1-BheureFin2-1)
    (AheureDebut4-1-BheureDebut4-1-AheureFin4-1-BheureFin4-1)
    (AheureDebut5-1-BheureDebut5-1-AheureFin5-1-BheureFin5-1)
    (AheureDebut5-2-BheureDebut5-2-AheureFin5-2-BheureFin5-2)
    et pour le pdf, une fois le doc html converti:
    (AheureDebut1-1-BheureDebut1-1-AheureFin1-1-BheureFin1-1)
    (AheureDebut2-1-BheureDebut2-1-AheureFin2-1-BheureFin2-1)
    (AheureDebut3-1-BheureDebut3-1-AheureFin3-1-BheureFin3-1)
    (AheureDebut4-1-BheureDebut4-1-AheureFin4-1-BheureFin4-1)
    (AheureDebut5-1-BheureDebut5-1-AheureFin5-1-BheureFin5-1)
    (AheureDebut6-1-BheureDebut6-1-AheureFin6-1-BheureFin6-1)
    Ce qui est sensiblement différent

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    C'était un problème avec un $(element).click() qui ne fonctionnait, rien à voir finalement avec ce qui est en haut.

    J'ai remplacé le .click() par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    eventFire($(element), "click");
    fonction suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function eventFire(el, etype){
      if (el.fireEvent) {
        (el.fireEvent('on' + etype));
      } else {
        var evObj = document.createEvent('Events');
        evObj.initEvent(etype, true, false);
        el.dispatchEvent(evObj);
      }
    }
    source


    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/05/2008, 12h58
  2. Relations, contraintes et traitements sur différents dataset
    Par kaouane dans le forum Accès aux données
    Réponses: 2
    Dernier message: 07/02/2008, 14h27
  3. Les traitement Javascript ne fonctionnent plus
    Par paradeofphp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/01/2008, 13h48
  4. lien fichier javascript différent suivant serveur
    Par Nico36 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/09/2007, 12h10
  5. traitement javascript avant le <logic:forward>
    Par questionneuse dans le forum Struts 1
    Réponses: 13
    Dernier message: 02/06/2006, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo