Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/06/2011, 11h08   #1
Futur Membre du Club
 
Inscription : décembre 2010
Messages : 74
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 74
Points : 15
Points : 15
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 :
1
2
3
4
5
<script type="text/javascript">
   function SubmitForm() {
       document.getElementById("test").submit();
   }
</script>
et

Code :
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 :
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 :
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.
legrandse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 11h13   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
rajoute un bouton submit quand même dans ton form avec un style hidden
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 11h22   #3
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
tente aussi un return false en fin de lien (et l'instruction "javascript:" dans href est-elle bien indispensable?)
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 11h23   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 019
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 019
Points : 45 114
Points : 45 114
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é
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 11h27   #5
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
j'aurais bien fait de manière plus classique:
Code :
<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...
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 11h41   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 803
Points : 35 803
Citation:
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
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 11h45   #7
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
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?
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 12h01   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 803
Points : 35 803
Pourtant si :
Code php :
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 }
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 12h04   #9
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
ah oui, c'est comique ça

__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 13h15   #10
Futur Membre du Club
 
Inscription : décembre 2010
Messages : 74
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 74
Points : 15
Points : 15
Et bien je vous remercie pour votre aide et cela fonctionne parfaitement avec la ligne de javatwister:

Code :
<a href="#" onclick="this.parentNode.submit();return false">
Merci encore.
legrandse est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h29.


 
 
 
 
Partenaires

Hébergement Web