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

JavaScript Discussion :

Donner l'ordre des pages


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut Donner l'ordre des pages
    j'ai une page me permettant d'afficher des images étant des pages d'un document, mais mon soucis est que je peux déplacer ces pages et glisser-déplacer, mon soucis est que j'ai créer un bouton me permettant de donner l'ordre d'affichage des pages, pour cela je créer autant de champ input que j'ai de ligne d'image(6 images par ligne).

    Voici mon code qui ne fonctionne pas très bien :

    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
     
        function OrdrePage(NbFile){
         var Image = document.getElementsByTagName('IMG');
    //     var array = new Array()
     
         //Arrondi du nombre de ligne
         NbLigne = Math.ceil(Math.round(NbFile)/6)
     
         for (var Nb = 1; Nb < NbLigne; Nb++){
          NewArray = 'var array'+ Nb +' = new Array();';
          eval(NewArray);
     
          for (var i = 1, n = Image.length; i <= NbFile; i++){
           NewArray2 = 'array'+ Nb +'.push(Image['+ i +'].getAttribute('Name"))';
           eval(NewArray2);   
          }
     
          NewArray3 = 'document.DragAndDrop.OrdrePage'+ Nb +'.value = array'+ NbLigne +'';
          eval(NewArray3);    
         }
    - Je calcul dans un premier temps le nombre de ligne que j'arrondi au chiffre suppérieur.

    - Je voudrais ensuite boucler l'ordre des pages de ma premiere ligne puis ma deuxieme .... pour les insérer dans un input.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    pas compris

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut plus d'explication
    Je suis en train de développer un application en asp, cette application permet d'enregistrer des fivhiers pdf en fichier jpg (1 page du fichier pdf = 1 image), ensuite j'affiche ces images dans des div et ces div propose de faire des glisser-déplacer de mes images pour refaire une fichier pdf avec les pages dans le nouvel ordre.

    Je parviens bien a faire tous cela mais mon soucis est que je voudrais lors de la recomposition utiliuser javascript pour l'insérer l'ordre de mes pages dans des champs input.

    voici l'affichage d'une image :
    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
     
         <%
          set fs=Server.CreateObject("Scripting.FileSystemObject")
          For i = 1 to NbFile
            If fs.FileExists(REP_IMG &"Ass\"& NomDoc &"-"& NumImg &".jpg")=true then
             NbFile = NbFile + 1
             %>
              <div class=DragBox name="Page<% = i %>" overClass="OverDragBox" dragClass="DragDragBox" align="center">
               <img name="<% = i %>" src="Img/Ass/<% = NomDoc %>-<% = NumImg %>.jpg" height="150px" width="128px"><br>
               <b>Page <% = i %></b>
               <input OnClick="SuppJpg('<% = NumImg %>');" type="image" src="Img/PetitDelete.gif"> 
              </div>
             <%
            End If
          Next
         %>
    et le code Javascript visible dans la question :

    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
     
        function OrdrePage(NbFile){
         var Image = document.getElementsByTagName('IMG');
    //     var array = new Array()
     
         //Arrondi du nombre de ligne
         NbLigne = Math.ceil(Math.round(NbFile)/6)
     
         for (var Nb = 1; Nb < NbLigne; Nb++){
          NewArray = 'var array'+ Nb +' = new Array();';
          eval(NewArray);
     
          for (var i = 1, n = Image.length; i <= NbFile; i++){
           NewArray2 = 'array'+ Nb +'.push(Image['+ i +'].getAttribute('Name"))';
           eval(NewArray2);   
          }
     
          NewArray3 = 'document.DragAndDrop.OrdrePage'+ Nb +'.value = array'+ NbLigne +'';
          eval(NewArray3);    
         }
    Ce que je vouadrais faire dans cette fonction c'est :
    - Créer un champs array pour caque ligne de div (j'affiche 6 image par ligne), cela explique pourquoi la division par 6 pour connaitre mon nombre de ligne.

    - Je voudrais que dans le Input "OrdrePage1" entrer comme valeur l'ordre de images de ma première ligne et dans l'input "OrdrePage2" l'ordre d'affichage de mes images de la deuxième ligne ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      <input type="Text" name="OrdrePage1" value="" style="width:200; font-size: 8pt;">
      <input type="Text" name="OrdrePage2" value="" style="width:200; font-size: 8pt;">

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben a part parcourir tes divs et récupérer leurs coordonnées pour tester lequel est avant lequel je voit pas trop.
    enfin si j'ai bien compris.

  5. #5
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut ce que je veux savoir
    juste ce que je voudrais savoir c'est si ma fonction javascript serait correct pour récupérer la valeur name de mes images et que la boucle s'effectue pour me prendre dans un premier temps toutes les images de ma première ligne puis de ma deuxième ... :

    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
     
     
         NbLigne = Math.ceil(Math.round(NbFile)/6)
     
         for (var Nb = 1; Nb < NbLigne; Nb++){
          NewArray = 'var array'+ Nb +' = new Array();';
          eval(NewArray);
     
          for (var i = 1, n = Image.length; i <= NbFile; i++){
           NewArray2 = 'array'+ Nb +'.push(Image['+ i +'].getAttribute('Name"))';
           eval(NewArray2);   
          }
     
          NewArray3 = 'document.DragAndDrop.OrdrePage'+ Nb +'.value = NewArray'+ Nb +'';
          eval(NewArray3);    
         }
     
    <img name="1" src="Img/Ass/<% = NomDoc %>-1.jpg">
    <img name="2" src="Img/Ass/<% = NomDoc %>-2.jpg">
    <img name="3" src="Img/Ass/<% = NomDoc %>-3.jpg">
    <img name="4" src="Img/Ass/<% = NomDoc %>-4.jpg">
    ...

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut
    Juste ce que je voudrais savoir c'est si ma fonction javascript serait correct pour récupérer la valeur name de mes images et que la boucle s'effectue pour me prendre dans un premier temps toutes les images de ma première ligne puis de ma deuxième ... :

    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
     
     
         NbLigne = Math.ceil(Math.round(NbFile)/6)
     
         for (var Nb = 1; Nb < NbLigne; Nb++){
          NewArray = 'var array'+ Nb +' = new Array();';
          eval(NewArray);
     
          for (var i = 1, n = Image.length; i <= NbFile; i++){
           NewArray2 = 'array'+ Nb +'.push(Image['+ i +'].getAttribute('Name"))';
           eval(NewArray2);   
          }
     
          NewArray3 = 'document.DragAndDrop.OrdrePage'+ Nb +'.value = NewArray'+ Nb +'';
          eval(NewArray3);    
         }
     
    <img name="1" src="Img/Ass/<% = NomDoc %>-1.jpg">
    <img name="2" src="Img/Ass/<% = NomDoc %>-2.jpg">
    <img name="3" src="Img/Ass/<% = NomDoc %>-3.jpg">
    <img name="4" src="Img/Ass/<% = NomDoc %>-4.jpg">
    ...
    Mon erreur est sur cette ligne "NewArray2 = 'array'+ Nb +'.push(Image['+ i +'].getAttribute('Name"))';"

    Il m'indique ";" attendu ???

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    met un " au lieu du ' avant name

  8. #8
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 447
    Points : 173
    Points
    173
    Par défaut et sinon ?
    Donc d'après toi il serait plus simple pour moi de connaitre la position de mon div pour afficher mes pages dans le bon ordre, mais comment pourrasi-je faire cela ?

  9. #9
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben si sils ont pas de position absolute et qu'ils sont dans le meme parent ca va, il te suffit de parcourir le childNodes du parent et tu auras l'ordre

Discussions similaires

  1. Réponses: 11
    Dernier message: 07/11/2010, 15h18
  2. [XL-2003] Ordre des pages avec saut VBA
    Par demongin dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/07/2010, 19h58
  3. [AC-2000] Ordre des pages d'un état
    Par B-CAB dans le forum IHM
    Réponses: 2
    Dernier message: 21/05/2010, 13h43
  4. PDFCreator et ordre des pages
    Par MICLANG dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 23/11/2009, 18h51
  5. Réponses: 1
    Dernier message: 17/11/2008, 17h30

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