Donnez vie à vos documents numériques !
 

Formulaire de commandes

abracadabraPDF Forums PDF – Général Formulaire de commandes

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45947
    warrenc50
    Membre

    Bonjour
    Je suis en train de créer un formulaire de commande dans lequel j’ai une première liste ou on peut choisir une catégorie.
    Dans la seconde liste j’ai tous les items qui correspondent à chacune des catégories.
    Est-ce possible de n’afficher que les items de la catégorie sélectionnée?

    Voici le code pour le JS :

    function Initialisation()
    {
    console.clear();
    //On d?©finit les tableaux en respectant l’arborescence des menus:
    console.println(« Initialisation.Definition tableau Debut. »)
    ListeProduit=new Array();
    ListeProduit[0]=[« Cabinet », »Specifications »];
    ListeProduit[1]=[« Filler Bout Gauche », »Panneau Bout 1po Gauche »];
    ListeProduit[2]=[« Rangement », »18po 1porte gauche »];
    ListeProduit[3]=[« Rangement », »18po 1porte droite »];
    ListeProduit[4]=[« Rangement », »18po 3tiroirs »];
    ListeProduit[5]=[« Rangement », »Ouvert  Insert central 18po »];
    ListeProduit[6]=[« Rangement », »Ouvert Bout 18po gauche »];
    ListeProduit[7]=[« Rangement », »Ouvert Bout 18po droite »];
    ListeProduit[8]=[« Rangement », »36po 2portes »];
    ListeProduit[9]=[« Rangement », »Ouvert  Insert central 36po »];
    ListeProduit[10]=[« Rangement », »Coin 90 18po 1porte gauche »];
    ListeProduit[11]=[« Rangement », »Coin 90 18po 1porte droite »];
    ListeProduit[12]=[« Rangement », »Desserte 18po »];
    ListeProduit[13]=[« Rangement », »Chef 12po »];
    ListeProduit[14]=[« Rangement », »Poubelle Coulissante 18po »];
    ListeProduit[15]=[« Rangement », »Bonbonne 18po 1portegauche »];
    ListeProduit[16]=[« Rangement », »Bonbonne 18po 1porte droite »];
    ListeProduit[17]=[« Évier », »SMRT_N 18po 1portegauche »];
    ListeProduit[18]=[« Évier », »SMRT_N 18po 1portedroite »];
    ListeProduit[19]=[« Évier », »SMRT_E 18po 1portegauche »];
    ListeProduit[20]=[« Évier », »SMRT_E 18po 1portedroite »];
    ListeProduit[21]=[« Évier », »Base Évier 18po 1porte gauche »];
    ListeProduit[22]=[« Évier », »Base Évier 18po 1doordroite »];
    ListeProduit[23]=[« Évier », »BAR SMRT_N 36po 2portes »];
    ListeProduit[24]=[« Évier », »SMRT_N 36po 2portes »];
    ListeProduit[25]=[« Évier », »BAR SMRT_E 36po 2portes »];
    ListeProduit[26]=[« Évier », »SMRT_E 36po 2portes »];
    ListeProduit[27]=[« Évier », »SocialCorner gauche 36po 2portes »];
    ListeProduit[28]=[« Évier », »SocialCorner droite 36po 2portes »];
    ListeProduit[29]=[« Évier », »Base Évier 36po 2portes »];
    ListeProduit[30]=[« Grill », »Grill Ceramique 30po 2portes »];
    ListeProduit[31]=[« Grill », »Grill 36po 2portes »];
    ListeProduit[32]=[« Grill », »Grill 42po 2portes »];
    ListeProduit[33]=[« Grill », »Grill 48po 2portes »];
    ListeProduit[34]=[« Électroménagers », »Electroménager 26po »];
    ListeProduit[35]=[« Finition », »Filler Coin 90 3poX3po »];
    ListeProduit[36]=[« Finition », »Filler Lineaire 2po »];
    ListeProduit[37]=[« Finition », »Filler Lineaire – 4po »];
    ListeProduit[38]=[« Finition », »Filler Lineaire avec Ouverture Prise Electrique 2poX4po – 4po »];
    ListeProduit[39]=[« Finition », »Filler Lineaire 6po »];
    ListeProduit[40]=[« Finition », »Filler Lineaire Ajustable »];
    ListeProduit[41]=[« Ambiance », »Eclairage Lineaire 4po »];
    ListeProduit[42]=[« Filler Bout Droit », »Panneau Bout 1po Droit »];
    //
    //Remplissage de la liste  1 (s?©lecteur Cabinet)
    console.println(« Remplissage liste 1 « )
    lld=this.getField(« DropdownE1″, »DropdownS1″, »DropdownS2″, »DropdownS3″, »DropdownS4,DropdownS5,DropdownE2 »);
    lld.delay=true;
    lld.clearItems();
    index=0;
      while(index  {
      lld.insertItemAt(ListeProduit[index][0],ListeProduit[index][0],index)
      index=index+1;
      }
    lld.setFocus();
    lld.currentValueIndices=0;
    lld.delay=false;

    //Remplissage de la liste 2 (s?©lecteur Specifications)
    console.println(« Remplissage liste 2. »);
    lld=this.getField(« DropdownE1Spec », »DropdownS1Spec », »DropdownS2Spec », »DropdownS3Spec », »DropdownS4Spec », »DropdownS5Spec », »DropdownE2Spec »);
    lld.delay=true;
    lld.clearItems();
    index=0;
      while(index  {
      lld.insertItemAt(ListeProduit[index][1],ListeProduit[index][1],index)
      index=index+1;
      }
    lld.setFocus();
    lld.currentValueIndices=0;
    lld.delay=false;
    //Fin remplissage Liste 2
    console.println(« Initialisation.Definition tableau.Fin »)
    }

    Initialisation()

Affichage de 18 réponses de 51 à 68 (sur un total de 68)
  • Auteur
    Réponses
  • #64818
    warrenc50
    Membre

    Voici comment j’ai fait mes listes déroulantes de Step 1.

    et Step 2 :

    Code:
    var lesElements =[
      //Type 0
      [],
      //Type 1 :  Left end
      [
          [« 1-0″, »Make a choice », » », »0″,0],
          [« 1-1″, »No filler or cabinet », » », »0″,0],
          [« 1-2″, »1in End Filler pannel Left end », »HROK-EFLR-800043″, »375.00″,1],
          [« 1-3″, »18in Open Shelves Cabinet », »HROK-STOC-800022″, »2000.00″,18]
      ],
      //Type 2 : Storage & specialities
      [
          [« 2-0″, »Make a choice », » », »0″,0],

      ],
      //Type 3 : Sink
      [

          [« 3-0″, »Make a choice », » », »0″,0],
          [« 3-1″, »15in Sink Base Cabinet 1 Door Left Hinges », »HROK-SB-800057″, »2750.00″,15]

      ],
      //Type 4 : Grill
      [
          [« 4-0″, »Make a choice », » », »0″,0],
          [« 4-1″, »15in Grill Base Cabinet 1 door Left hinges », »HROK-GR-800059″, »2750.00″,15]

      ],
      //Type 5 : Appliances
      [
          [« 5-0″, »Make a choice », » », »0″,0],
          [« 5-1″, »18in Appliance Cabinet », »HROK-APP-800070″, »1000.00″,18]

      ],
      //Type 6 : Filler
      [
          [« 6-0″, »Make a choice », » », »0″,0],
          [« 6-1″, »2in Linear Filler », »HROK-LFLR-800046″, »275.00″,2],
          [« 6-2″, »4in Linear Filler », »HROK-LFLR-800047″, »275.00″,4],

      ],
      //Type 7 : Ambience
      [
          [« 7-0″, »Make a choice », » », »0″,0],
          [« 7-1″, »4in Linear LED Lighting module », »HROK-LEDL-800036″, »2000.00″,4],
          [« 7-2″, »4in Linear LED Lighting module for electrical box », »HROK-LEDL-800037″, »2000.00″,4]
      ],
      //Type 8 :  Right end
      [
          [« 8-0″, »Make a choice », » », »0″,0],
          [« 8-1″, »No filler or cabinet », » », »0″,0],
          [« 8-2″, »1in End Filler pannel Right end », »HROK-EFLR-800044″, »375.00″,1],
          [« 8-3″, »18in Open Shelves Cabinet Open Facade & Right end », »HROK-STOC-800023″, »2000.00″,18]
      ],
      //Type 9 : Corner Cabinet
      [
          [« 9-0″, »Make a choice », » », »0″,0],
          [« 9-1″, »46in Corner Storage Cabinet 1 door Left Hinges », »HROK-STC-800026″, »3625.00″, »46″,31],
          [« 9-2″, »46in Corner Storage Cabinet 1 door Right Hinges », »HROK-STC-800027″, »3625.00″, »31″,46],
          [« 9-3″, »90° Corner Filler cabinet Right end », »HROK-CFLR-800045″, »1750.00″, »31″,31]
      ]
    ];

    #64819
    Merlin
    Maître des clés

    Il faut ouvrir le pdf avec l’application bureau

    J’utilise Acrobat Pro DC pour MacOS.

    La colonne 1 doit être choisie en premier ensuite l’information de la colonne 2 apparait

    C’est bien ce que je fais et rien ne s’affiche dans la colonne step2.
    Par-contre la console est toujours aussi volubile :

    Code:
    Les listes TELEPHONIE FIXE ont ete remplies a l’ouverture du document.
    Les listes ACCES INTERNET ont ete remplies a l’ouverture du document.
    Les listes TELEPHONIE FIXE ont ete remplies a l’ouverture du document.
    Les listes ACCES INTERNET ont ete remplies a l’ouverture du document.
    TypeError: x is null
    2:Document-Level:Date
    ReferenceError: lIndice is not defined
    3:AcroForm:Cabinets.0:Validate
    ReferenceError: lIndice is not defined
    3:AcroForm:Cabinets.1:Validate
    ReferenceError: lIndice is not defined
    2:AcroForm:Specifications.2:Annot1:MouseUp:Action1
    ReferenceError: lIndice is not defined
    2:AcroForm:Specifications.0:Annot1:MouseUp:Action1
    ReferenceError: lIndice is not defined
    2:AcroForm:Specifications.0:Annot1:MouseUp:Action1
    ReferenceError: lIndice is not defined
    2:AcroForm:Specifications.0:Annot1:MouseUp:Action1
    ReferenceError: lIndice is not defined
    2:AcroForm:Specifications.0:Annot1:MouseUp:Action1
    #64820
    warrenc50
    Membre

    Moi j’utilise Acrobat DC sur PC

    Je me demande s’il existe un script pour remettre mes listes à leur position par défaut lorsque la première liste est remise à sa position par défaut.

    #64821
    warrenc50
    Membre

    J’ai trouvé la solution

    #64822
    Merlin
    Maître des clés

    Quelle est elle ?

    #64823
    warrenc50
    Membre

    j’ai tout simplement ajouté :

    var lesElements =[
    //Type 0
        [
          [« 0″, » », » », »0″,0]
        ],

    au début de ma Table qui remet la position à 0 de mes listes suivantes

    #64824
    warrenc50
    Membre

    Bonjour,J’ai des options dans mon formulaire.
    Quand l’utilisateur « coche » une des cases le prix s’ajuste.
    j’aimerais faire en sorte que lorsque la case à cocher « opt1 » est cochée et que l’utilisateur coche « opt2 » que le prix de « opt2 » soit 270$.
    Mais si l’option 1 n’est pas cochée, le prix de « opt2 » doit rester à 225$

    Voici mon code pour l’instant

    function lesOptions() {
    prixOptions=0;

        if (this.getField(« Opt1. »+indice).value!= »Off ») {
            opt1=this.getField(« Prix. »+indice).value*0.20;
        } else {
            opt1=0;
        }
        prixOptions=prixOptions+opt1;

    if (this.getField(« Opt2. »+indice).value!= »Off ») {
      opt2=225.00;
    } else {
      opt2=0;
    }
    prixOptions=prixOptions +opt2;

    if (this.getField(« Opt3. »+indice).value!= »Off ») {
      opt3=350.00;
    } else {
      opt3=0;
    }
    prixOptions=prixOptions +opt3;

    if (this.getField(« Opt4. »+indice).value!= »Off ») {
      opt4=10.00;
    } else {
      opt4=0;
    }
    prixOptions=prixOptions +opt4;

    if (this.getField(« Opt5. »+indice).value!= »Off ») {
      opt5=400.00;
    } else {
      opt5=0;
    }
    prixOptions=prixOptions +opt5;

    if (this.getField(« Opt6. »+indice).value!= »Off ») {
      opt6=112.50;
    } else {
      opt6=0;
    }
    prixOptions=prixOptions +opt6;

    if (this.getField(« Opt7. »+indice).value!= »Off ») {
      opt7=80.00;
    } else {
      opt7=0;
    }
    prixOptions=prixOptions +opt7;
    }

    #64825
    Merlin
    Maître des clés

    Quelle est la question ?
    :doute:

    #64826
    bebarth
    Maître des clés

    bonjour,
    Si j’ai bien compris :

    Code:

    if (this.getField(« Opt2. »+indice).value!= »Off ») {
        if (this.getField(« Opt1. »+indice).value!= »Off ») {
            opt2=270.00;
        } else {
              opt2=225.00;
        }
    } else {
      opt2=0;
    }
    prixOptions=prixOptions +opt2;

    @+
    :bonjour:

    #64827
    warrenc50
    Membre

    Allô
    Merci beaucoup!!
    ça fonctionne!

    #64828
    Merlin
    Maître des clés

    :oh:

    #64829
    warrenc50
    Membre

    Bonjour à vous

    Mon formulaire s’en vient de plus en plus complexe.
    On doit introduire la notion de « Collection »
    Donc, ma question :
    Est-il possible de faire en sorte que l’utilisateur puisses changer de collection dans mon formulaire.
    Et donc, de changer de Table qui remplie mes menus déroulants?
    Présentement, c’est la table : lesTables qui alimente les menus déroulant.
    j’ai ajouté la tables : lesTablesLine qui serait une autre collection.
    l’utilisateur pourrait switcher d’une collection à l’autre. est-ce possible?

    #64830
    bebarth
    Maître des clés

    bonjour,Je dis oui, c’est possible !
    Cette réponse va certainement te paraître superflue…
    Je pense qu’il faut repenser le script (certainement avec un fichier .csv attaché).
    Ceci demande pas mal de travail pour ton formulaire et donc un certain temps de développement !!!
    @+
    :bonjour:

    #64831
    Merlin
    Maître des clés

    :bonjour:

    #64832
    warrenc50
    Membre

    on n’aurait pas moyen de changer de Tables dans les scripts du documents?
    avec un bouton radio ou une liste déroulante?

    #64833
    Merlin
    Maître des clés

    Il y a une autre solution souvent plus simple : afficher/masquer les listes en fonction de leur contenu.
    :Smiley03:

    #64834
    warrenc50
    Membre

    Et on fait ça comment?

    #64835
    Merlin
    Maître des clés

    Tu remplis plusieurs listes chacune avec une table différente. Une seule étant visible à la fois.
    Ensuite, en fonction du choix utilisateur tu affiches/masques la liste correspondante.
    :Smiley15:

Affichage de 18 réponses de 51 à 68 (sur un total de 68)
  • Vous devez être connecté pour répondre à ce sujet.