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

Langage PHP Discussion :

Poster une valeur issue d'une fenêtre JavaScript


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Points : 61
    Points
    61
    Par défaut Poster une valeur issue d'une fenêtre JavaScript
    Bonjour,

    J'ai crée un événement javascript qui ouvre une fenêtre avec un bouton "oui" et un bouton "non", à l'appui sur un bouton de soumission d'un formulaire.
    Je souhaiterais qu'en cliquant sur oui ou non, une autre page php soit ouverte avec en plus des variables déjà postées, une nouvelle variable qui contient 0 ou 1 selon qu'on a cliqué sur oui ou non...

    Typiquement par exemple:
    - un formulaire avec des informations sur une personne (déjà fait...)
    - un bouton pour soumettre le formulaire
    - le bouton ouvre une boîte de dialogue qui demande si la personne est prioritaire
    - la valeur d'un champ "prioritaire" à 0 ou à 1 est posté avec les autres valeurs
    - on arrive sur une nouvelle page php qui contient la requête sql (ça c'est déjà fait aussi...)

    Comment me conseillez-vous de faire? de quel type va être la valeur fournie par la fenêtre javascript? y a-t-il moyen de poster cette valeur? sinon quel moyen mettre en oeuvre?


    Cordialement
    Mathieu

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Le mieux c'est de modifier un hidden field en fonction de ce qu'a clické l'utilisateur.

    Peux-tu poster ton code Javascript avec ta boite de dialog ?

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Points : 61
    Points
    61
    Par défaut
    Voici...

    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
    <FORM method=post action="requete test.php">
    Enregistrement d'un utilisateur
    <TABLE BORDER=0>
    <TR>
    	<TD>Nom</TD>
    	<TD>
    	<INPUT type=text name="nom">
    	</TD>
    </TR>
     
    <TR>
    	<TD>Prénom</TD>
    	<TD>
    	<INPUT type=text name="prenom">
    	</TD>
    </TR>
     
    <INPUT type="submit" value="Envoyer" onclick="return confirm('cet enregistrement est-il prioritaire???');">
     
     
     
    <form>
    Alors le problème dans ce code, c'est que la fenêtre ouverte demande juste confirmation du fait qu'on doive rentrer l'enregistrement ou non... Et moi ce que je souhaiterais, c'est un bouton oui/non qui demande si l'enregistrement est prioritaire, poste un champ $_POST['prioritaire'], qu'on puisse récupérer de la page php requete test.php dont le code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    voici les variables postées:<BR><BR>
     
    <? echo "nom: ".$nom."<BR>prénom: ".$prenom;?>

    Cela est-il possible?

    Merci
    Mathieu

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Oui c'est possible mais ca va te demander du travail :
    - Tu peux utiliser le systeme de la Lightbox .
    - Ou bien si c'est trop compliqué tu peux ajouter une simple case à cocher
    [x] Cet enregistrement est-il prioritaire???

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Points : 61
    Points
    61
    Par défaut
    Je viens d'aller voir sur le web ce qu'était la lightbox, et je ne vois pas en quoi cela répond à mon problème...
    Et il me semblait aussi que tu étais optimiste sur mon problème hélas... Sais-tu comment créer une boîte de dialogue avec une réponse oui/non? si oui, on devrait pouvoir facilement récupérer la valeur dans un champ hidden, et la poster??? quant à moi, je ne sais déjà pas créer la boîte, mais je ne vais peut-être pas apprendre s'il n'y pas d'espoir de ce côté... Quelqu'un a-t-il une idée sur la question?

    Mathieu

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Je vais etre plus precis, comme je te l'ai dis ci-dessus c'est pas simple.
    La lightbox fait apparaitre un fenetre au milieu de nulle part pour afficher des photos. il faut que tu fasses une fenetre DIV qui elle aussi apparaitra au milieu de nulle part. Tu ne peux pas le faire avec les boite de dialog classic. Tu dois le faire en HTML.
    Ca ressemblera a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div>
    Cet enregistrement est-il prioritaire???
    <div onclick="alert('Oui')">Oui</div><div onclick="alert('Non')">Non</div>
    </div>
    Tu interceptes les evenements onclick, tu peux alors modifier ta variable HIDDEN.
    C'est tres puissant mais assez difficile a mettre en oeuvre. C'est tres utilisé en WEB2.
    Voir l'exemple suivant : http://jquery.com/demo/thickbox/

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Points : 61
    Points
    61
    Par défaut
    Alors, tu viens de me dire qu'on ne pouvait pas le faire avec les boîtes de dialogue classique: j'ai utilisé simplement une division htm. Je me suis inspiré de http://www.developpez.net/forums/sho...d.php?t=338493 que j'ai simplifié pour mon usage personnel donc.
    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
    <script type="text/javascript">
    function ouvreBoite()
    {  document.getElementById("maBoiteHtm").style.display = "block";} 
    function clicOui()
    { document.formulaire.prioritaire.value='Oui';document.forms['formulaire'].submit();} 
    function clicNon()
    { document.formulaire.prioritaire.value='Non';document.forms['formulaire'].submit();} 
    </script>
     
     
     
     
    <FORM method=post id="formulaire" name="formulaire" action="requete test.php">
    <input type=hidden name='prioritaire'> 
     
     
    Enregistrement d'un utilisateur
    Nom<INPUT type=text name="nom">
    Prénom<INPUT type=text name="prenom">
     
     
    <style type="text/css">
    .conteneurPrompt{
     /** Firefox **/
     position: fixed;
     top: 25%;
     left: 25%;
     
     border: 3px outset #AAAAAA;
     /*height: 150px;*/
     width: 50%;
     display: none;
     z-index: 2000;
     
     /** IE **/
     position: expression(IEFixedElementPos());
     /** on tient compte des 25% definis plus haut **/
     top: expression(IEFixedElementTop(parseInt(document.body.clientHeight * 25/100)));
     left: expression(IEFixedElementLeft(parseInt(document.body.clientWidth * 25/100)));
     
    }
    </style>
     
     
     
     
    <div id="maBoiteHtm" class="conteneurPrompt">
    Enregistrement prioritaire?
    <button onclick='clicOui();'>Oui</button>
    <button onclick='clicNon();'>Non</button>  
    </div>
     
     
    <input type="button" value="Soumettre le formulaire" onclick="ouvreBoite();">
     
    </form>

    et après pour controler, comme avant, le fichier "requete test.php":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    voici les variables postées:<BR><BR>
     
    <? echo "nom: ".$nom."<BR>prénom: ".$prenom."<BR>prioritaire?: ".$prioritaire;?>




    Les questions qui subsistent:
    - une erreur se produit au chargement de la deuxième page (erreur qui se produisait déjà en faisant un simple copier-coller du code du lien donné). D'où vient cette erreur?
    - ne peut pas faire en sorte que la boîte de dialogue prenne toute la page? s'affiche à la place du reste?


    Mathieu

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Points : 61
    Points
    61
    Par défaut
    Salut,

    Pour ce qui est l'erreur, j'ai essayé de mettre des trucs en commentaire, pour voir où il plantait, et je suis arrivé à la conclusion, que l'erreur se produisait, dés qu'on faisait appel à une classe:

    Code :
    <div id="idFond" class="fond">
    &nbsp;
    </div>rien que ça produit une erreur du navigateur qui utilise la classe "fond"... Peut-être y a-t-il une déclaration à faire avant? Cette erreur-là n'est-elle pas un problème d'en-tête? je ne sais pas... ça doit être simple... qqun peut-il aider?


    Au fait, l'erreur ne se produit pas dans firefox!

    Cordialement
    Mathieu

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    J'ai essayé ton code ça marche nickel sur IE, je ne vois pas ce qui pourrait déconner ???

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Points : 61
    Points
    61
    Par défaut
    Ben quand je charge la page, il y a un panneau attention "!" en bas de la page, "Certains problèmes pourraient empêcher cette page web de s'afficher ou de fonctionner correctement"... Après cependant ça fonctionne quand même... c juste que j'ai un message d'erreur!

    Mathieu

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 176
    Points : 61
    Points
    61
    Par défaut
    apparemment le problème ne se produit qu'avec mon ie à moi...
    j'ai placé le fichier sur un serveur distant et demandé à qqun d'autre de l'ouvrir, le problème n'est pas apparu...
    par ailleurs le problème ne se produit pas avec firefox

    Enfin je peux ajouter que j'ai réinitialisé les paramètres de mon navigateur... sans succés


    Mathieu

Discussions similaires

  1. Réponses: 10
    Dernier message: 05/02/2015, 14h47
  2. Assigner une valeur issue d'une formule
    Par jeremm dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/11/2010, 11h07
  3. Réponses: 8
    Dernier message: 13/04/2010, 13h15
  4. [AC-97] Afficher une valeur issue d'une table de manière aléatoire
    Par JazzKDU dans le forum IHM
    Réponses: 0
    Dernier message: 20/10/2009, 13h46
  5. Réponses: 7
    Dernier message: 17/10/2006, 16h32

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