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

WebDev Discussion :

Ouvrir 4 états lors d'un clic sur un bouton


Sujet :

WebDev

  1. #1
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    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 564
    Points : 2 399
    Points
    2 399
    Par défaut Ouvrir 4 états lors d'un clic sur un bouton
    Bonjour,

    je souhaiterais pouvoir ouvrir états pour les imprimer par la suite lors d'un clic sur un bouton.

    J'ai déjà placé le code qui permet de générer mes états au format html, et ils sont bien créé dans un répertoire de mon site.

    j'aimerai maintenant pouvoir les ouvrir pour que l'utilisateur puisse les voir et éventuellement les imprimer.

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Août 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 140
    Points : 312
    Points
    312
    Par défaut
    Bonjour Seb,

    BTN_Bouton1 - clic serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //Generation
    iDestination(iHTML,cheminVersFichier)
    iImprimeEtat(ETAT_Inscription,1,1)
     
    iDestination(iHTML,cheminVersFichier2)
    iImprimeEtat(ETAT_Inscription,2,2)
     
    ExécuteTraitement(BTN_Bouton2,trtClic)

    BTN_Bouton2 - clic navigateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //Ouverture - risque de blocage popup
    NavigateurOuvre(cheminVersFichier)
    NavigateurOuvre(cheminVersFichier2)
    Voilà, ça devrait fonctionner.

    Vérifie dans l'ordre :
    > la génération (regarde dans le répertoire le fichier HTML directement)
    > d'avoir le bon chemin de fichier (relatif ou absolu pour NavigateurOuvre)
    > Blocage de popup..

  3. #3
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    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 564
    Points : 2 399
    Points
    2 399
    Par défaut
    J'ai un problème lors de l'ouverture de mes états, le lien n'est pas correct:

    Je génère mes états dans un dossier Etat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Fichier = fRepWeb+"\Etats\ETAT_Reception.html"
    iDestination(iHTML,Fichier)
    iImprimeEtat(ETAT_Reception)
    J'ouvre donc mon fichier de cette façon en code navigateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NavigateurOuvre("/Etats/ETAT_Reception.html")
    Le problème c'est que cela m'ouvre pas le bon lien et je tombe sur :
    http://localhost/Etats/ETAT_Reception.html

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Août 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 140
    Points : 312
    Points
    312
    Par défaut
    Oui, je le précisais plus haut.

    Habituellement nous utilisons une variable globales de projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gsWebCheminServeur est une chaine = "http://IP_SERVEUR/SITE_WEB/"
    Donc ensuite on compose la chaine en code navigateur.
    Il y a peut être (et surement) une autre méthode mais en attendant, cette méthode permet de toujours fonctionner (avant la génération de l'installation du site (dans la projet de déploiement), on modifie cette variable pour coller au site (nom de domaine ou IP)..).

  5. #5
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    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 564
    Points : 2 399
    Points
    2 399
    Par défaut
    En fait je ne l'avais pas bien essayé et ta solution ne fonctionne pas.

    J'avais cliqué directement sur le 2eme bouton et pas le 1er

    la fonction ExécuteTraitement du 1er bouton execute le code de clic coté serveur et pas le code navigateur donc il ne se passe rien :/

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Août 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 140
    Points : 312
    Points
    312
    Par défaut
    Ah... je me suis fais avoir dans la logique.

    Si tu préfères, en faisant mes tests, mes fichiers étaient déjà générés... du coup, je cliquais également sur le second bouton directement.


    J'ai une autre solution... un peu hardu...qui utilise les timers... et qui fonctionne.

    Basiquement, tu créés un champs Interupteur... Par défaut il est décoché.
    Tu changes son état en programmation (en Ajax pourquoi pas) après avoir généré tes états et dans ton timer.. tu inspectes cet interupteur.

    En résumé :
    Tu créés une procédure locale navigateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PROCEDURE check()
    SI INT_Interrupteur1 ALORS
    	NavigateurOuvre("http://localhost/monprojet_web/fichier1.htm")
    	NavigateurOuvre("http://localhost/monprojet_web/fichier2.htm")
    	NavigateurOuvre("http://localhost/monprojet_web/fichier3.htm")
    	INT_Interrupteur1 = Faux
    FIN
    (Il est tout à fait possible de stocker la chaine "http://localhost/monprojet_web/" dans une variable globale de projet, et le nom de fichier, le mettre dans un champ de saisie de la page que tu modifies également en programmation)...

    Dans le code du bouton qui génère les états :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    iAperçu(iGenericHTML,fRepWeb+"\fichier1.htm")
    iImprimeEtat(ETAT_Inscription,1,1)
     
    iAperçu(iGenericHTML,fRepWeb+"\fichier2.htm")
    iImprimeEtat(ETAT_Inscription,2,2)
     
    iAperçu(iGenericHTML,fRepWeb+"\fichier3.htm")
    iImprimeEtat(ETAT_Inscription,3,3)
     
    INT_Interrupteur1 = Vrai
    Enfin, dans le code "onload" de ta page :
    Cela fonctionne ici sans problème (attention une fois de plus aux bloqueurs de popup de IE7 ou autre).

    Attention également à ne pas exposer des données confidentielles via cette méthode.. en effet, les fichiers html générés depuis l'état, sont accessibles en code navigateur.
    Autrement dit, il est tout à fait possible de taper l'adresse directement vers les fichiers.
    Il faut (mais je ne l'aborderai pas ici) utiliser un système de clé associé à l'état généré... En gros, au moment de la génération, le iAperçu devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iAperçu(iGenericHTML, id+codeAleatoire+"etat.htm")
    Je posterai éventuellement un projet d'exemple au besoin... mais pas tout de suite.

  7. #7
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    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 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Merci.

    Cette méthode fonctionne mais j'ai encore un dernier problème assez étrange.

    Les nom des etat sont généré à partir de variables globales serveurs qui servent à définir la session de l'utilisateur.
    Parmi ces variable, il y en a une qui est une date.

    A la création des fichier il n'y a pas de problème tout se fait sans souci.

    Par contre c'est à l'ouverture dans le code Navigateur que la il y a un problème.
    Il n'a pas l'air d'accepter ma variable serveur date alors que toutes les autres variable fonctionne.

    Windev ne me retourne aucune erreur mais sur IE il ne se passe rien et j'ai une erreur javascript "m_date est indefini" (ma variable globale)

    j'ai d'abord pensé que c'été un problème de format, j'ai donc utilisé la fonction dateverchaine mais le probleme est le meme...

  8. #8
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    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 564
    Points : 2 399
    Points
    2 399
    Par défaut
    j'ai créé une 2eme variable de type chaine pour ma date et ça fonctionne

  9. #9
    Membre averti

    Profil pro
    Inscrit en
    Août 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 140
    Points : 312
    Points
    312
    Par défaut
    Et en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maVariableEnTexte est une chaine = MaDate
    Tu as directement la variable sous forme d'une chaine.

    En gros, tu stockes cette variable chaine en même temps que tu stockes celle de type Date.

    EDIT : grillé :p

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/10/2010, 04h02
  2. ouvrire une fenetre suite a un clic sur un bouton
    Par jeune informatique dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 02/06/2010, 13h27
  3. recharger la page lors d'un clic sur un bouton radio
    Par enzostar dans le forum Langage
    Réponses: 4
    Dernier message: 02/12/2009, 10h16
  4. Réponses: 1
    Dernier message: 25/10/2009, 13h39
  5. Réponses: 1
    Dernier message: 14/10/2009, 15h40

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