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 :

Envoyer POST avec href


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut Envoyer POST avec href
    Bonjour tout le monde,

    J'essaye d'envoyer une variable POST dans un lien a href à l'aide d'une fonction javascript mais pour une raison que j'ignore, le script fonctionne à moitié.

    Pour préciser, j'ai une liste et quand je clique sur le nom, il doit m'afficher des données reprises dans ma BDD.

    Le soucis c'est que çà fonctionne mais uniquement pour la première ligne.
    Si je clique sur le 2ème ou 10ème, il m'afficher toujours, le résultat de la première ligne.

    voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript">
       function SubmitForm() {
           document.getElementById("test").submit();
       }
    </script>
    et

    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
    <?php
    // on se connecte Ã* MySQL
    $db = mysql_connect('localhost', 'bla', 'bla');
     
     
    // on sélectionne la base
    mysql_select_db('test',$db);
     
    // on crée la requête SQL
    $sql = "select rando, id, nom, prenom, postal, sid, count(id) from (select rando, id, nom, prenom, postal, sid from gghf_rando union select rando, id, nom, prenom, postal, sid from gghf_rando2) t group by id ";
     
     
    // on envoie la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
     
    while($data = mysql_fetch_assoc($req))
        { ?>
     
     
     
    <tr>
     
     
        <td width="80px">
    	<form id="test"  method="post" action="afficherdetailrando.php">
        <a href="javascript:SubmitForm()"><?php echo $data['nom']; ?></a>
    	<input type="hidden" name="nom" value="<?php echo $data['id'] ; ?>  ">
     
        </form> 
     
        </td>
     
    	<td width="80px">
        <?php echo $data['prenom']; ?>
        </td>
     
    	<td width="200px"> 
        <?php echo $data['postal']; ?>
        </td>
     
      	<td width="80px">
        <?php echo $data['count(id)']; ?>
    	</td>
     
    </tr>
     
    <?php } 
    // on ferme la connexion Ã* mysql
    mysql_close();
    ?>
     
    </table>

    Par contre çà fonctionne parfaitement si je remplace:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form id="test"  method="post" action="afficherdetailrando.php">
        <a href="javascript:SubmitForm()"><?php echo $data['nom']; ?></a>
    	<input type="hidden" name="nom" value="<?php echo $data['id'] ; ?>  ">
     
        </form>
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form id="test"  method="post" action="afficherdetailrando.php">
        <input type="submit" value="Sélection">
    	<input type="hidden" name="nom" value="<?php echo $data['id'] ; ?>  ">
     
        </form>

    Je n'apprécie pas trop le bouton Sélection pour des raisons esthétiques mais je ne comprend pas pq le lien a href ne fonctionne pas pour les autres lignes.

    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    rajoute un bouton submit quand même dans ton form avec un style hidden

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    tente aussi un return false en fin de lien (et l'instruction "javascript:" dans href est-elle bien indispensable?)

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    oui JT il passe par le href donc javascript:
    il n'utilise pas le onclick du href et là pour le coup pas de javascript: et return false recommandé

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    j'aurais bien fait de manière plus classique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="this.parentNode.submit();return false">..........</a>
    et basta la fonction js;

    mais attention, la balise lien ne doit pas se balader comme ça sans élément block pour lui tenir chaud...

  6. #6
    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
    je ne comprend pas pq le lien a href ne fonctionne pas pour les autres lignes
    parce que tous tes formulaires ont le même id

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    mouais ptêt bien... la boucle php ne me paraît pas limpide (de toute façon je n'ai jamais compris qu'on imbrique de cette manière php / html);

    mais je ne crois pas qu'il y ait un formulaire par champ texte, si?

  8. #8
    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
    Pourtant si :
    Code php : 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
    while($data = mysql_fetch_assoc($req))
        { ?>
    <tr>
        <td width="80px">
    	<form id="test"  method="post" action="afficherdetailrando.php">
        <a href="javascript:SubmitForm()"><?php echo $data['nom']; ?></a>
    	<input type="hidden" name="nom" value="<?php echo $data['id'] ; ?>  ">
     
        </form> 
     
        </td>
     
    	<td width="80px">
        <?php echo $data['prenom']; ?>
        </td>
     
    	<td width="200px"> 
        <?php echo $data['postal']; ?>
        </td>
     
      	<td width="80px">
        <?php echo $data['count(id)']; ?>
    	</td>
     
    </tr>
     
    <?php }

  9. #9
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    ah oui, c'est comique ça


  10. #10
    Membre habitué Avatar de legrandse
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2010
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 350
    Points : 149
    Points
    149
    Par défaut
    Et bien je vous remercie pour votre aide et cela fonctionne parfaitement avec la ligne de javatwister:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="this.parentNode.submit();return false">
    Merci encore.

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

Discussions similaires

  1. Envoyer des données en POST avec JQuery?
    Par john85 dans le forum ASP.NET MVC
    Réponses: 8
    Dernier message: 09/06/2011, 18h33
  2. Envoyer des variables en POST avec Java ?
    Par keviin55 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 15/03/2011, 10h18
  3. Réponses: 1
    Dernier message: 27/02/2008, 14h16
  4. envoyer submit avec une condition !
    Par delphinote dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/07/2005, 15h52
  5. [INDY] comment faire un 'POST' avec idHTTP??
    Par gamez dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/05/2004, 19h02

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