Conflit Javascript/PHP

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

sultan
WRInaute discret
WRInaute discret
 
Messages: 52
Inscription: Dim Fév 29, 2004 14:17

Conflit Javascript/PHP

Message le Ven Oct 13, 2006 11:08

Bonjour à tous,


j'ai un petit conflit javascript/php...

Dans mon script PHP (un agenda), on peut ajouter plusieurs entrées simultanément,


J'ai donc plusieurs champs noms... C'est une boucle qui les crée en cyclant un formulaire. Je vais pas mettre tous les champs mais deux séries pour l'exemple. Ils son nommés ainsi:

nom_event[1]
adresse_event[1]
nom_event[2]
adresse_event[2]

Ce qui je dois avouer que lorsqu'on valide la page PHP et je dois récupérer
les valeurs pour les traiter, les nommer ainsi facilite bien la tâche puisque ce sont des tableaux... mais voilà mon problème est que je dois aussi utiliser le Javascript dans mon formulaire pour en fonction du pays détecter dans l'adresse, modifier dynamiquement une partie du formulaire, le problème est que quand je fais:

var adr=document.forms[0].adresse_event[1].value;

J'ai le conflit PHP/JS... il prend "adresse_event[1]" comme une valeur tableau dans JS et pas comme le nom de mon champ pour en retirer la valeur.


Est-ce que quelqu'un a une idée comment contourner ce problème ?


Merci d'avance de votre aide,



Laurent


blman
WRInaute accro
WRInaute accro
 
Messages: 2915
Inscription: Ven Sep 05, 2003 10:46

Message le Ven Oct 13, 2006 11:35

Classique !

1- Nomme tous tes champs adresse_events[] ou nom_events[] (sans les valeurs 0, 1, 2, 3, ...)

2- Pour tester tes champ en js, fait une boucle sur tout tes champs et repère ton champ avec ceci :

début de boucle
if(document.form[0].elements[i].name=="adresse_event[]"){
TES TESTS
}
fin de boucle

3- tu récupère tous tes champs en PHP en $adresse_event[] avec une boucle aussi :

$c=0;
while(isset($etat[$c])){

TON CODE

$c++;
}

Voila, je sais pas si tu va comprendre mais effectivement, il y a un petit conflit dans ce cas dans le nommage des variables.

sultan
WRInaute discret
WRInaute discret
 
Messages: 52
Inscription: Dim Fév 29, 2004 14:17

Message le Ven Oct 13, 2006 11:46

blman a écrit:Classique !

1- Nomme tes champs adresse_events[]

2- Pour tester tes champ en js, fait une boucle sur tout tes champs et repère ton champ avec ceci :
Code: Tout sélectionner
début de boucle
if(document.form[0].elements[i].name=="adresse_event[]"){
TES TESTS
}
fin de boucle

3- tu récupère tous tes champs en PHP en $adresse_event[] avec une boucle aussi :
Code: Tout sélectionner
$c=0;
while(isset($etat[$c])){

TON CODE

$c++;
}


Voila, je sais pas si tu va comprendre mais effectivement, il y a un petit conflit dans ce cas dans le nommage des variables.


Je vais essayer... Y a juste que le code PHP me semble un peu flou... la variable "$etat" me perturbe lol

Sinon pour le cycle JS, je suppose que je peux récupérer le nombre d'éléments pour créer la boucle avec un comptage de nombre de valeur dans le tableau "document.form[0].elements[i]"
Dernière édition par sultan le Ven Oct 13, 2006 11:50, édité 1 fois.


blman
WRInaute accro
WRInaute accro
 
Messages: 2915
Inscription: Ven Sep 05, 2003 10:46

Message le Ven Oct 13, 2006 11:49

Ah oui pardons :

$c=0;
while(isset($adresse_envent[$c])){

TON CODE

$c++;
}


Pour le comptage : document.form[0].elements.length;

sultan
WRInaute discret
WRInaute discret
 
Messages: 52
Inscription: Dim Fév 29, 2004 14:17

Message le Ven Oct 13, 2006 11:50

blman a écrit:Ah oui pardons :

$c=0;
while(isset($adresse_envent[$c])){

TON CODE

$c++;
}


Pour le comptage : document.form[0].elements.length;


Merci je vais essayer tout ça cette après midi :D

sultan
WRInaute discret
WRInaute discret
 
Messages: 52
Inscription: Dim Fév 29, 2004 14:17

Message le Sam Oct 28, 2006 17:13

sultan a écrit:
blman a écrit:Ah oui pardons :

$c=0;
while(isset($adresse_envent[$c])){

TON CODE

$c++;
}


Pour le comptage : document.form[0].elements.length;


Merci je vais essayer tout ça cette après midi :D



Après de nombreux test, j'ai simplifié le problème... en fait j'ai nommé tous mes champs avec une ID unique et j'accède à la valeur du champ par son ID ;-)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités