M000004965
Messages postés147Date d'inscriptionmercredi 3 décembre 2003StatutMembreDernière intervention12 juin 2008
-
14 févr. 2008 à 11:06
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 2009
-
14 févr. 2008 à 14:56
Bonjour à tous,
Je ne connaît absolument pas javascript,
j'ai trouvé le code ci-dessous pour me permettre de récupérer des valeurs dans un formulaire contenant des listes de type select.
(je n'ai pas réussi en php)
<script language="javascript">
<!--
function chang() //fonction qui affichera le texte
{
var Chaine;
Chaine = document.form1.liste.options //on spécifie la liste a traiter
[document.form1.liste.selectedIndex].text;//on récupere le texte de cette liste
document.form1.textfield.value = Chaine.valueOf();//on met ce texte dans un champ texte
div_test.innerHTML = Chaine.valueOf();//on modifie le texte dans le div nommé div_test
}
-->
</script>
ma question est la suivante :
comme mon formulaire contien plusieurs listes, est-ce que je doit dupliquer et adapter autant de fois la fonction que j'ai de liste ou comment est-il possible d'avoir une seule fonction pour toutes les listes sans tenir compte de leurs noms
par anticipation, question suivante,
j'ai 1 liste multiple, comment je dois opérer pour récupérer les sélections de l'utilisateur
D'avance merci pour votre aide (j'espère avoir posté au bon endroit)
Autodidact, je ne demande qu'à apprendre... Merci de votre aide
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 20093 14 févr. 2008 à 11:18
Bonjour
ma question est la suivante :
comme mon formulaire contien plusieurs
listes, est-ce que je doit dupliquer et adapter autant de fois la
fonction que j'ai de liste ou comment est-il possible d'avoir une seule fonction pour toutes les listes sans tenir compte de leurs noms
Il te suffit juste de faire passer en parametre le nom de tes selects dans la fonction (chang(nom1), chang(nom2)...).
Si la fonction est appellé dans le onSubmit du form, la ça se complique un peu car il faut récuperer les noms de tout tes selects pour les tester (dans un tableau par exemple) et tester chaque select. Si je suis pas assez clair hesite pas.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 févr. 2008 à 13:44
trop long... pas tout compris...
>>à ce moment là, il me réaffiche la page complète avec le résultat
voulu, les filtres sont bien appliqués
>>mais les listes sont
réinitialisées et donc elles n'affichent plus le ou les choix des
utilisateurs.
ben... tu as tout reçu en php, "il suffit" d'ajouter le selected sur la
bonne option quand on recrée la page.
>>c'est pour cette raison que je me suis tourné vers
l'éventualité d'ajouter du javascript,
>>pour replacer les choix des
utilisateurs.
on peut ausi...
"il suffit", lorsque le select est affiché, de faire
select_en_question.selectedIndex=n° de l'option sélectionnée à "l'étape" prédédente
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 20093 14 févr. 2008 à 13:49
Tu as tout reçu avec php donc a l'affichage tu teste si tu as $_POST... si tu l'as ben tu fais en sorte de mettre le bon selected a la bonne option et si tu as rien dans $_POST tu affiche la liste normalement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 févr. 2008 à 14:32
>>
Je me suis faite grillée par...
ah non maelob ! codesSources est un lieu public !
et en griller une est strictement défendu par la loi !
au fait, maelob : t'es une nana ? si oui : bienvenue !
les intervenantes sont plutôt rares... hélas.
( si non, bienvenu aussi )
<hr /> Cordialement Bul «mon Site» «M'écrire»
2) lors de la création dynamique des listes, je définis un select par défault avec 'selected'
3) DANS LA MEME page, j'affiche le résultat. (au premier chargement de la page, comme l'utilisateur n'a pas encore opéré de choix, ma requete est donc select * from table et le résultat s'affiche). Le but est que l'utilisateur affine ce résultat en opérant des choix dans les listes de filtre.
4) l'utilisateur fait ces choix et clic sur le bouton de commande de type :
echo '';
5) je récupère les valeurs via : (effectivement BULTEZ , merci)
(je vérifie si $_POST['lst_cps'] existe car au premier chagement de la page ce n'est pas le cas)
et c'est là que ça se corse...
à ce moment là, il me réaffiche la page complète avec le résultat voulu, les filtres sont bien appliqués mais les listes sont réinitialisées et donc elles n'affichent plus le ou les choix des utilisateurs.
c'est pour cette raison que je me suis tourné vers l'éventualité d'ajouter du javascript, pour replacer les choix des utilisateurs.
j'ai retouché le code que j'avait trouvé par:
echo 'function changCPS()';
echo '{';
echo 'var Chaine;';
echo 'Chaine = document.filtres.lst_cps.options'; //on spécifie la liste a traiter
//echo '[document.filtres.lst_cps.selectedIndex].value;'; //on récupere le texte de cette liste
echo '[document.filtres.lst_cps.selectedIndex].id;'; //on récupere l' id sélectionné
//echo 'document.filtres.textfieldcps.value = Chaine.valueOf();'; //on met ce texte dans un champ texte
echo 'document.filtres.textfieldcps.value = [document.filtres.lst_cps.selectedIndex];'; //on met l' id dans un champ texte
echo '}';
ce qui me permet de récupérer aussi l' id de la liste. Mais je ne suis pas plus avancé, je ne parviens pas à replacer la liste sur les choix faits par l'utilisateur.
pour info mes listes sont créées comme suit:
en revanche, merci, je récupère bien les choix qui me permettent de définir avec précision ma requete SQL et ainsi affiner le résultat.
Pour mon principal soucis (dessus depuis 2 jours!) est ce que javascript peux m'aider ou est ce que c'est l'architecture de page qui merdouille ?
je me demande si je ne dois pas casser ma page en deux et ajouter un include en fonction d'une variable initialisé à 0:
L' include aurai pour objectif de construire les listes dynamiques au 1er chargement
0 = c'est la première fois que la page est chargée, j'app l'include
1 = la page est rechargée parce que l'utilisateur à opéré un premier filtrage et donc pas d'include
Qu'en pensez vous?
Autodidact, je ne demande qu'à apprendre... Merci de votre aide
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 20093 14 févr. 2008 à 14:39
Oui oui je suis une nana... Comme tu as pu le voir j'ai ecris grilléE.
Merci de m'accueillir aussi gentillement :-)
Je participe un peu en attendant une réponse à une de mes question sur laquelle je planche depuis hier.
Sinon de rien [auteur/M000004965/201720.aspx M000004965]c'est toujours un plaisir d'aider des gens motivés pour apprendre, bon courage pour la suite ;-)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 févr. 2008 à 14:49
>>Comme tu as pu le voir j'ai ecris faitE grilléE.
oui oui.... mais tu connais les problèmes d'ortografe sur les forums...
re re bienvenu alors, puisses-tu continuer à intervenir...
>>en attendant une réponse à une de mes question
en javascript ? pas vu ! ( pas pris remarque )
maelob
Messages postés943Date d'inscriptionmardi 14 novembre 2006StatutMembreDernière intervention 7 août 20093 14 févr. 2008 à 14:56
Ouai je suis d'accord avec toi pour les fautes d'orthographe mais j'essais de faire gaffe un maximum car quand tu rend un rapport ou une doc truffée de fautes ça fait pas très sérieux...