Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ 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 14/01/2012, 12h51   #1
Nouveau Membre du Club
 
Inscription : juillet 2008
Messages : 138
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 138
Points : 29
Points : 29
Par défaut Utiliser une variable dans $.post()

Bonjour à tous,

J’optimise un code qui me permet d'envoyer les données d'un formulaire vers une page php via la fonction $.post() de Jquery.

Mon but est d'utiliser des variables pour stocker le nom du champs et sa valeur :

Code :
1
2
3
4
5
6
7
var champs= "prenom";
var valeur = "John";
$.post('traitement.php',{champs:valeur},
function(){
// Traitement js
}
);
Le soucis c'est que ça ne fonctionne pas ! La variable ne passe pas.
Alors que si je remplace la variable champs par une vraie valeur du champs, cela fonctionne parfaitement :

Code :
1
2
3
4
5
6
var valeur = "John";
$.post('traitement.php',{prenom:valeur},
function(){
// Traitement js
}
);
Un coup de main ?
vinze60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2012, 13h13   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
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 808
Points : 35 789
Points : 35 789
C'est normal, c'est la syntaxe d'un objet JavaScript qui veut ça, le premier terme est un identifiant, un peu comme pour une variable.
Tu peux contourner en passant une chaine au lieu d'un objet (ce qui évitera d'ailleurs à jQuery de faire lui-même la conversion en interne) :
Code :
$.post('traitement.php',champs+'='+valeur,...);
ou sinon, créer l'objet en amont :
Code :
1
2
3
4
5
6
7
8
9
var champs= "prenom";
var valeur = "John";
var params;
params[champs] = valeur;
$.post('traitement.php',params,
function(){
// Traitement js
}
);
__________________
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 14/01/2012, 13h55   #3
Nouveau Membre du Club
 
Inscription : juillet 2008
Messages : 138
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 138
Points : 29
Points : 29
Super merci j'ai testé la première et elle fonctionne très bien.
vinze60 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 23h29.


 
 
 
 
Partenaires

Hébergement Web