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

Web Perl Discussion :

Passer tableau à Javascript en Perl


Sujet :

Web Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 43
    Points : 47
    Points
    47
    Par défaut Passer tableau à Javascript en Perl
    Bonjour,

    J'écris présentement un programme perl (repertoire.pl) avec une sortie html et une une inclusion de javascript dedans. Le but du programme est de lire un répertoire, ce répertoire contient juste des répertoires et dans chacun des répertoires il y a environ 15 fichiers html. Dans une première liste déroulante il y a le nom des répertoires et quand l'usager clic sur l'un des répertoires qu'il y a dans la liste déroulante il apparaît une autre liste déroulante que lui contient la liste des 15 fichiers html (ce sont des rapports) ensuite il clic sur l'un des 15 fichiers html et là le rapport s'affiche.

    Mais le problème est que je suis incapable de passer la liste des 15 fichiers html dans mon javascript. J'ai cherché partout et je n'ai rien trouvé sur ce sujet (ex: FAQ perl, cours perl, sur le site de perl, etc....) Si quelqu'un pouvait m'aider.

    Voici mon script perl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
     
    #!/usr/bin/perl
     
    use CGI_Lite;
     
    $cgi=new CGI_Lite;
     
    %in = $cgi->parse_form_data;
     
    $rep1="D:\\rapports_des_seuils\\Tous_UNIX";
    $i = 0;
    opendir(DIR, $rep1) || die "Impossible de lire $rep1 : $!\n"; 
    my @liste = grep { not /^[.][.]?\z/ && -r "$rep1/$_" } readdir(DIR);
    @liste = map{lc($_)} @liste;
    closedir(DIR);
    #
    $rep="D:\\rapports_des_seuils\\UNIX";
    $i = 0;
    opendir(DIR, $rep) || die "Impossible de lire $rep : $!\n"; 
    my @listeA = grep { not /^[.][.]?\z/ && -r "$rep/$_" } readdir(DIR);
    @listeA = map{uc($_)} @listeA;
    closedir(DIR);
    $cpt = $#listeA;
    #
    for (my $j=0; $j <= $cpt; $j++) {
    $rep="D:\\rapports_des_seuils\\UNIX\\$listeA[$j]";
    opendir(DIR, $rep) || die "Impossible de lire $rep : $!\n"; 
    my @listeU1 = grep { not /^[.][.]?\z/ && -r "$rep/$_" } readdir(DIR);
    # ici il faudrait que @listeU1 puisse s'incrémenter tout seul i.e
    # @listeU$j donc deviendrait @listeU1 puis @listeU2 et ainsi de suite..
    # ou un autre moyen je ne sais plus...
    @listeU1 = map{uc($_)} @listeU1;
    closedir(DIR);
    my @cpt1 = $#listeU1;
    }
    #
    print "Content-type: text/html\n\n"; # Affichage de l'entête indispensable
    print <<"FIN";
    <html>
    <head>
    <title>Rapport des exceptions</title>
    <script language="JavaScript">
    var Html =""; // mettre la variable html à blanc
    d = new Date(); 
    document.write('<p align="right"><font color="black">'+d.toLocaleDateString()+','+d.toLocaleTimeString()+'</font></p>');
     
    function afficherAutre() {
    alert("allo");
    alert(document.forms.form1.liste1A.value);
    if (document.forms.form1.liste1A.value == "http://172.xx.xx.xxx/unix/Environnement") {
     alert("Je trouve environnement");
    }
    for (j=0; j <= $cpt; j++) {
     document.forms.form1.elements['liste1A'].options[document.forms.form1.elements['liste1A'].selectedIndex].value;
    // alert("je passe dans le for " +j);
    // <option value=http://172.xx.xx.xxx/unix/$listeA[$j]/$listeA[$j]> $listeA[$j]</option>
                              }
    Html += '<b>Choix du rapport: <\/b><font size="4"><\/font>';
    Html += ' <select name="dtrap">';
    for (i=0; i <= 15; i++) {
     Html += '<option value="http://172.xx.xx.xxx/unix/$listeA[$i]/$listeA[$i]"> $listeU1[$i]<\/option>';
    }
    Html += ' <\/select>';
    //-- ici On écrit le résultat du html
    document.write( Html);
    }
    </script>
    </head>
    FIN
    print "<body>";
    print "<img style= 'float: left' src='../bandeau1.jpg' alt='logo'><p align=center><font size=4>RAPPORT D\'ANALYSE DES EXCEPTIONS DES PFI</p></font>";
    print "<p>&nbsp;</p>";
    print "<p>&nbsp;</p>";
    print "<hr>";
    print "Le contenu du répertoire: $rep1<br><br>";
    print "<b>Quel rapport voulez-vous voir ?</b><br>";
    print "<form name='form1' method='post' action=''>";
    print "<select name=liste1>";
    for (my $j=0; $j <= $#liste; $j++) {
    print "<option value=http://172.xx.xx.xxx/tous_unix/$liste[$j]> $liste[$j]</option>\n";
                               }
    print "</select>";
    print "<INPUT TYPE='button' VALUE='OK' onClick='location =
           form1.liste1.options[form1.liste1.selectedIndex].value;'>";
    #
    print "<hr>";
    print "Le contenu du répertoire: $rep<br><br>";
    print "<b>Choisir votre environnement ?</b><br>";
    print "<select name=liste1A onChange=afficherAutre()>";
    for (my $j=0; $j <= $#listeA; $j++) {
    print "<option value=http://172.27.96.172/unix/$listeA[$j]> $listeA[$j]</option>";
                               }
    print "</select>";
    print "</form>";
    print "</body>\n";
    print "</html>\n";
    Merci !

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    je me demande si par défaut tu ne devrais pas tout afficher (repertoire et sous répertoire.
    Ensuite tu met en disable.
    ensuite faut jongler avec les CSS (cacher montrer) sur choix dans liste deroulante.
    Faut te renseigner dans le sous forum css et javascript. Ce n'ai plus un probleme de perl

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 43
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    Ce n'est pas un problème de javascript, c'est comment passer un tableau perl à javascript. Concerne aucunement le simple langage javascript.

    Donc si quelqu'un connaît Perl (et coder en html et javascript dans perl) merci de bien vouloir m'aider.

    Merci !

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Citation Envoyé par lavm01
    Bonjour,

    Ce n'est pas un problème de javascript, c'est comment passer un tableau perl à javascript. Concerne aucunement le simple langage javascript.

    Donc si quelqu'un connaît Perl (et coder en html et javascript dans perl) merci de bien vouloir m'aider.

    Merci !
    Ecoute lav01,
    On a aucun obligation de t'aider et tu pourrais faire un effort de prendre en considération ce que l'on te propose et éviter ce genre de phrases :
    Donc si quelqu'un connaît Perl (et coder en html et javascript dans perl) merci de bien vouloir m'aider.
    Je pense que tu es mal placé pour nous faire des remarques, et nous répondre de la sorte ne donne pas envie de t'aider.
    Alors soit plus courtois et à l'écoute des idées que l'on te propose.

  5. #5
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut
    Hello,

    A vrai dire, pour ma part je ne vois pas trop ton probleme...
    J'ai ecris pas mal de Javascript dans des CGI Perl, et meme si c'est plutot compliqué et difficile (il ne faut pas s'emmeler les pinceaux) je n'ai pas rencontrer ton genre de probleme...

    Je m'explique:
    A priori, au debut de ton CGI, tu recuperes bien les données dont tu as besoin pour generer ta page...
    Rien ne t'empeche de les stocker dans ta partie Javascript....
    Certes cela n'est pas tres beau...mais c'est une solution comme une autre...
    Tu instancie des tableaux Java de tes données ton tu as besoin. Ainsi, lors du chargement de ta page web, tu as as disposition tout ce dont tu as besoin...

    J'espere que je reponds bien a ta question, et que je suis pas a coté de la plaque...

    PS:

    Donc si quelqu'un connaît Perl (et coder en html et javascript dans perl) merci de bien vouloir m'aider.
    Je t'assure que sur ce forum, y'en a qui connaisse vraiment tres tres bien Perl, comme djibril, par exemple, rien qu'a voir le nombre de post auquel il reponds, c'est impressionnant

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 43
    Points : 47
    Points
    47
    Par défaut
    Il n'y avait rien d'offensant dans mes propos je disais simplement que le problème est au niveau de perl qui inclut du javascript dedans. Comment passer un tableau perl dans le javascript. Il y a surement moyen de faire ça.

    Citation Envoyé par djibril
    Faut te renseigner dans le sous forum css et javascript. Ce n'ai plus un probleme de perl.
    Merci !

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Je te conseil soit d'utiliser la methode cacher/montrer (css et javascript)
    soit de te faire des fonction en javasript de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function Nom_De_La_Fonction(argument1, argument2, ...) {
    	liste d'instructions
    }
    Et je rajouterais que tu pourrais même mettre ton javascript dans un fichier .js.
    Bref, une fois que tu as à ta fonction javasript tu peux lui passer en argument ce que tu veux dans ton script perl.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    href="javascript:Nom_De_La_Fonction('fichier1', 'fichier1')"
    ou
    my @fichiers = qw (fichier1, fichier2, fichier3);
    my $fichier = "'".join("','",@fichiers)."'";
     
    href="javascript:Nom_De_La_Fonction($fichier)"

Discussions similaires

  1. Passer tableau javascript en php
    Par antoinv10 dans le forum Général JavaScript
    Réponses: 51
    Dernier message: 26/06/2015, 16h45
  2. Passer l'indice d'un tableau Javascript vers PHP
    Par Hastur dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/06/2009, 19h59
  3. Passer un tableau Javascript dans une action JAVA
    Par lili2704 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/08/2007, 11h44
  4. Passer un tableau javascript d'une page à une autre
    Par jean-pierre96 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/04/2007, 21h28
  5. Passer un tableau à Javascript
    Par flim dans le forum Web
    Réponses: 3
    Dernier message: 17/01/2006, 20h15

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