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 :

Transmission de valeur d'un bouton


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Transmission de valeur d'un bouton
    Bonjour,
    Je vous explique mon problème...
    J'ai une page principale en html avec 4 button me permettant chacun de faire une requête http différente. Cette requête est traité dans un PHP à part et seul l'url change en fonction du bouton sur lequel j'appuie. J'aimerai savoir s'il été possible de transmettre la valeur du bouton à l'aide de la fonction OnClick de ce dernier...

    Voici mon code:
    PHP:
    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
     
    <?php
    session_start();
    if(isset($_POST['move'])) {
    $dir=$_POST['move'];}   
     
    $url='http://192.168.0.5/admin/ptctl.cgi?move='+$dir;
     
    $requete = curl_init();
    curl_setopt($requete, CURLOPT_URL,$url);
    curl_setopt($requete, CURLOPT_HEADER, 0);
    curl_setopt($requete, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($requete, CURLOPT_USERPWD,"admin:admin");
    curl_setopt($requete, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
     
    $data=curl_exec ($requete);
    curl_close ($requete);
     
     
     
    ?>

    Extrait du HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <code type="html">
    <form method="POST" name="move" action="./curl.php">
    <INPUT type="submit" style="width:70px" value='up' name="(document.getElementsbyTagName('move').value='up');" />	
    <br/>
    <INPUT type="button" style="width:70px" value='Gauche' onClick="(document.getElementsbyTagName('move').value='left');" />
    <INPUT type="button" style="width:70px" value='Home' onClick="(document.getElementsbyTagName('move').value='h');" />

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Les boutons submit transmettent leur couple name/value tu n'as pas besoin d'utiliser un subterfuge.

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    pour les autres (type="button") tu peux alimenter un input hidden lors du click.
    Celui-ci sera envoyé avec le form ...

    A+

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Au passage, je ne vois pas trop ce que tu attends du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsbyTagName('move').value='left'

    D'une part, c'est getElementsByTagName et non getElementsbyTagName.
    Ensuite, le nom a été assez astucieusement appelée getElementsByTagName parce qu'elle récupère des éléments en fonction de leur nom de balise, donc à moins d'avoir des balises move dans ton HTML, tu ne récupèrera rien.
    Enfin, le pluriel laisse supposer que tu récupères une collection d'éléments, il faut donc définir le rang de celui que tu veux traiter.

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Effectivement

    On peut aussi supposer que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name="(document.getElementsbyTagName('move').value='up');"
    n'est pas un choix des plus judicieux ....

    A+

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Bonjour,
    Je viens de rajouter mon code PHP auquel je tente de transmettre la chaine dans mon 1er Post.
    Avez-vous une meilleur solution que le "document.getElementsByTagName" ?

    Merci à vous.

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Rihaod Voir le message
    Je viens de rajouter mon code PHP auquel je tente de transmettre la chaine dans mon 1er Post.
    Comme tu peux le voir ci-dessus, il y a déjà pas mal de choses à corriger côté HTML / Javascript ...
    Chaque chose en son temps

    A+

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Je suis d'accord. Et si depuis le button je fait dans le OnClick un appel à un fonction en JS qui elle va se charger de faire cette requête vers le script PHP?
    Une fonction assez courte qui prend en compte la chaine que le button lui fait passer et l'enregistre dans la variable $_POST qui ensuite va être transmise au script PHP. Puis ensuite cette chaine va être concaténé à la chaine correspondant à l'url que je veux faire.

    Avez-vous des solutions?

    Merci à vous.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,
    pour les autres (type="button") tu peux alimenter un input hidden lors du click.
    Celui-ci sera envoyé avec le form ...

    A+
    Le problème avec cette méthode c'est que la valeur va être transmise a l'aide du submit et quand j'utilise ce submit il m'envoi vers mon script PHP, ce que j'aimerai éviter.

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Ben oui, mais comme visiblement personne ne voit ce qu'est censé faire ton code (essentiellement à cause des incohérences relevées ci-dessus), difficile de te conseiller efficacement

    A+

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    D'accord je vous explique mon problème à nouveau.

    Dans le but de pouvoir utiliser une caméra est d'assurer les différents mouvements qu'elle fait, j'ai les différents bouton qui me permettent pour chacun des ces mouvements. Donc à chaque clique sur ces boutons je veux pouvoir faire une requête.
    Cette requête HTTP doit se faire avec des droits (login et mdp) de manière transparente pour l'utilisateur. Au début j'étais parti sur la fonction en javascript XMLHTTPREQUEST qui permet de faire la requête HTTP mais le problèmes est que le JS est chargé directement sur la page en même temps que le HTML donc c'est un problème au niveau de la sécurité. Je me suis alors dirigé vers la fonction cURL en PHP qui elle fonctionne sans aucun problème. Mais mon problème est donc de pouvoir faire le lien entre mes boutons et mon script php.

    Voyez-vous mieux le problème?
    Merci à vous.

Discussions similaires

  1. recupérer la valeur d'un bouton radio
    Par ericmart dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/05/2008, 15h42
  2. Comment récupérer la valeur d'un bouton radio ?
    Par whbh dans le forum Langage
    Réponses: 2
    Dernier message: 20/01/2006, 22h32
  3. Réponses: 4
    Dernier message: 28/07/2005, 16h10
  4. [JSP] passer en parametre valeur d un bouton radio
    Par logica dans le forum Servlets/JSP
    Réponses: 19
    Dernier message: 13/05/2005, 14h09
  5. Réponses: 8
    Dernier message: 09/03/2005, 10h47

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