phiss
la vie tout simplement
Messages : 544 Inscrit le 15/03/04
Ville : SAIN BEL Rhône
Non connecté
|
|
Posté le 29 avril 2005 - 17 h 48 m 09 s |
|
|
Voilà, j'ai un problème que je n'arrive pas à résoudre.
JE vous explique et mets une photo pour clarifier.

J'ai donc un formulaire en html.
Dans ce formulaire j'ai plusieurs champs à remplir de type textarea.
J'ai aussi le besoin de faire un choix de nom de personnes.
Pour cela je voiudrais faire avec deux select.
Le premier continet la liste complète des noms et dans les second il y aurait la liste des gens qui sont sélectionnés.
Le problème vient du fait que pour faire ceci je n'ai réussi qu'à passer par un formulaire et qu'il est impossible d'imbriquer deux formulaires.
Voyez vous ce que je veux faire et comment je peux le faire?
Merci
|
|
| |
\"La liberté c’est de faire tout ce que les lois permettent.\"
Montesquieu
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 215 Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
|
|
Posté le 29 avril 2005 - 18 h 27 m 49 s |
|
|
OK.
Si ca peut t'aider, en mettant un attribut name a tes <input type="submit"> tu pourra savoir sur quel bouton tu a clique en regardant dans ton traitement des donnees si la variable $_POST['nom du bouton submit a regarder'] existe (avec un isset() par exemple). A partir de la, tu fait le traitement que tu veut.
|
|
| |
Totalement inutile, donc completement indispensable 
|
phiss
la vie tout simplement
Messages : 544 Inscrit le 15/03/04
Ville : SAIN BEL Rhône
Non connecté
|
|
Posté le 29 avril 2005 - 18 h 51 m 04 s |
|
|
je ne vois pas trop ce que tu veux me dire Woofy.
Pourrais tu m'expliquer un pue plus longuement?
|
|
| |
\"La liberté c’est de faire tout ce que les lois permettent.\"
Montesquieu
|
mik69
Allez l'OL !
Messages : 1 282 Inscrit le 02/07/03
Ville : GRIGNY 69
Non connecté
|
|
Posté le 29 avril 2005 - 20 h 30 m 38 s |
|
|
Tourne toi vers le javascript pour ça.
Depuis quand ne peut-on pas imbriquer des formulaires ?? :-?
Mélanger deux form tu ne peux pas mais les imbriquer oui..
|
|
| |
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 215 Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
|
|
Posté le 29 avril 2005 - 20 h 44 m 05 s |
|
|
Heu... un bout de code ca te va?
Bon en gros, tu fait un formulaire, avec 2 boutons submit, et tu veut savoir ce qui est ecrit. Par exemple :
1. /* */
2.
3. <form action="mapage.php" method="post">
4. Texte 1 : <input type="text" name="text1"><br/>
5. Texte 2 : <input type="text" name="text2"><br/>
6. <input type="submit" name="submit1" value="OK pour le test 1">
7. <input type="submit" name="submit2" value="OK pour le test 2">
8. </form>
Et la page php :
1. /* */
2. <?php
3.
4. if (isset($_POST['submit1']))
5. {
6. echo "Test 1<br/>";
7. echo $_POST['text1']." : ".$_POST['text2'];
8. }
9.
10. if (isset($_POST['submit2']))
11. {
12. echo "Test 2<br/>";
13. echo $_POST['text2']." : ".$_POST['text1'];
14. }
15.
16. ?>
Bon alors ce code (fait un peu a l'arrachée) te crée un formulaire avec 2 champs textes et 2 boutons submit. Quand tu clique sur le premier bouton, tu aura donc une variable $_POST['submit1'] qui va être recupérée, et qui aura comme valeur "OK pour le test 1" et pareil pour le deuxieme bouton submit.
Ici, ce n'est pas la valeur du bouton qui nous interesse mais savoir si la variable existe. C'est en regardant qu'elle existe qu'on saura qu'on a cliqué sur ce bouton. Donc on lancera la première partie du code, le test 1. Le test 2 par contre, comme on a pas cliqué sur le deuxième bouton, ne sera pas executé (il ne trouvera pas la variable $_POST['submit2'].
Et ca évite d'utilise javascript 
Javascript c'est mal
Enfin bon j'espère avoir été un peu plus clair, n'hésite pas a faire des tests pour mieux comprendre, mais je pense que dans ta situation c'est tout a fait approprié.
|
|
| |
Totalement inutile, donc completement indispensable 
|
demarco
Linux powaaa
Messages : 8 Inscrit le 04/06/03
Ville : rouen
Non connecté
|
|
Posté le 29 avril 2005 - 21 h 32 m 57 s |
|
|
Salut
La solution php est bcp trop lourde (faire un submit a chaque rajout de nom) donc, a mon avis, javascript est la bonne solution.
Une façon de procéder peut être l’utilisation de l’attribut display sur les blocs que tu veux afficher :
Explication :
T’as la liste gauche et la liste droite identiques avec les mêmes éléments sauf que les éléments de droite sont invisibles (attribut style="display:none")
A chaque appui sur le buttons d’ajout tu affiche les chemps en question a droite (onclick= "document.getElementById(3).style.display=’’ ") pour afficher plusierurs element il faut ptet faire une documen.all ou autre ...il faut essayer si ca marche
Voila !!!!
un bon example:
http://www.script-masters.com/home/tutorial_javascript-javascript_menudhtml_3.html
|
|
| |
Linux rulez !! not hard to use and config
http://www.debian.org/CD/netinst/
http://freshrpms.net/ <- apt pour rh ou mandrake
|
mik69
Allez l'OL !
Messages : 1 282 Inscrit le 02/07/03
Ville : GRIGNY 69
Non connecté
|
|
Posté le 29 avril 2005 - 21 h 55 m 17 s |
|
|
J'ai un lien interessant aussi dont j'avais voulu me servir à plusieurs reprise :
Basculer des éléments d'une liste à l'autre
Tu peux effectuer une recherche sur le site en haut à droite en entrant comme keyword : liste
tu tomberas dessus.
|
|
| |
|
phiss
la vie tout simplement
Messages : 544 Inscrit le 15/03/04
Ville : SAIN BEL Rhône
Non connecté
|
|
Posté le 30 avril 2005 - 10 h 16 m 48 s |
|
|
mik69: j'ai déjà regarder ce script le seul problème est que je remplit ma liste avec le résultat d'une requete et que je n'ai pas réussi à le faire avec ce script là.
Par contre tu me dit que l'on peut imbriquer deux formulaire, Alors comment fait on?
demarco : Je vais voir si j'arrive à quelque chose avec ce que tu me donnes.
|
|
| |
Message édité 1 fois, la dernière par phiss le 30 avril 2005 - 10 h 18. |
| |
\"La liberté c’est de faire tout ce que les lois permettent.\"
Montesquieu
|
Woofy
Pour les bons tuyaux me demander
Messages : 26 215 Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
|
|
Posté le 30 avril 2005 - 13 h 33 m 44 s |
|
|
On ne peut pas imbriquer 2 formulaires.
Je peut te retrouver le lien si tu veut, mais j'ai deja cherche, et la seule facon de le faire sans javascript est ma methode. Du moins la seule que j'ai trouvee.
EDIT : bon en fait je retrouve pas le lien
|
|
| |
Message édité 1 fois, la dernière par Woofy le 30 avril 2005 - 13 h 53. |
| |
Totalement inutile, donc completement indispensable 
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 30 avril 2005 - 15 h 25 m 39 s |
|
|
Script bascule sur http://www.toutjavascript.com
<SCRIPT LANGUAGE="JavaScript">
//D'autres scripts sur http://www.toutjavascript.com
//Si vous utilisez ce script, merci de m'avertir ! < <voir adresse mail sur site> >
function Deplacer(l1,l2) {
if (l1.options.selectedIndex>=0) {
o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
l2.options[l2.options.length]=o;
l1.options[l1.options.selectedIndex]=null;
}else{
alert("Aucune activité sélectionnée");
}
}
</SCRIPT>
...
<FORM name="formulaire">
<SELECT align=top name="liste1" size=6 style="width:120px">
....
</SELECT>
...
<INPUT type="button" value="Ajouter >>>" onClick="Deplacer(this.form.liste1,this.form.liste2)">
...
<INPUT type="button" value="<<< Enlever" onClick="Deplacer(this.form.liste2,this.form.liste1)">
...
<SELECT align=top name="liste2" size=6 style="width:120px">
...
</SELECT>
...
</FORM>
|
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
mik69
Allez l'OL !
Messages : 1 282 Inscrit le 02/07/03
Ville : GRIGNY 69
Non connecté
|
|
Posté le 30 avril 2005 - 20 h 00 m 55 s |
|
|
Comme le fait si bien Erel, tu remplis ta liste avec une requete et puis tu joues sur tes listes en javascript..
|
|
| |
|
MrGinglE
Messages : 55 Inscrit le 16/05/05
Ville : Grenoble
Non connecté
|
|
Posté le 16 mai 2005 - 18 h 58 m 13 s |
|
|
Il est toujours préférable d'utiliser du PHP au lieu du javascript, je ne pense pas que ça soit plus "lourd". Peut-être un temps d'execution plus long car un chargement de page à chaque exécution, mais l'avantage indéniable, c'est la compatibilitée.
Javascript dépendant de la configuration du client, on ne peut pas considéré qu'il est fiable.
Pour ton cas, il est aussi facile de récupérer les sélection faites dans ton <select> et de les récupérer par la méthode $_POST comme le dis Woofy.
|
|
| |
Il n'y à pas de partage sans savoir, mais mieux vaut ne pas partager quand on ne sait pas... http://mrgingle.info !!
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 16 mai 2005 - 19 h 30 m 45 s |
|
|
Sauf que pour ce qu'il veut faire le javascript est bien plus indiqué
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
MrGinglE
Messages : 55 Inscrit le 16/05/05
Ville : Grenoble
Non connecté
|
|
Posté le 16 mai 2005 - 20 h 53 m 36 s |
|
|
Il est sur que pour ce cas la, javascript est bien placé. Mais personellement, j'évite de l'utiliser si une alternative est possible. Car il faut savoir qu'il ne fonctionne pas ou trés mal chez un pourcentage non négligeable des internautes.
Je pousse peut-être un peu, mais c'est mon avis, les gôuts et les couleurs....
|
|
| |
Il n'y à pas de partage sans savoir, mais mieux vaut ne pas partager quand on ne sait pas... http://mrgingle.info !!
|
Erel69
206 (¯`·.__[T3aM.L1b3rTe©]__.·´¯)
Messages : 19 449 Inscrit le 07/11/01
Ville : Lyon
Non connecté
|
|
Posté le 16 mai 2005 - 21 h 25 m 28 s |
|
|
Il ne fonctionne pas ou mal que si il est mal codé ou trop récent (nécessitant les dernières fonctions js)
Mais dans ce cas-là, un js fonctionnera de partout (sauf si l'utilisateur a désactiver le js bien sûr)
|
|
| |
Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...
|
MrGinglE
Messages : 55 Inscrit le 16/05/05
Ville : Grenoble
Non connecté
|
|
Posté le 16 mai 2005 - 23 h 29 m 51 s |
|
|
On s'égare du sujet d'origine mais bon... je ne bannis pas le js, loin de la, je m'en sers beaucoup. Ce que je voulais dire, c'est qu'au niveau accessibilité, 10% environ des utilisateur n'executerons pas correctement le script (js désactivé, navigateur non compatible - et oui ça existe encore - etc...). Par conséquent, si le fonctionement de la page se base en majorité sur le js, il se peut que dans de rare cas, la fonction voulue soit inexploitable.
je sais, je chipote
|
|
| |
Message édité 1 fois, la dernière par MrGinglE le 16 mai 2005 - 23 h 31. |
| |
Il n'y à pas de partage sans savoir, mais mieux vaut ne pas partager quand on ne sait pas... http://mrgingle.info !!
|
Petit_PimoOosE
rsqrtps & pshufb
Messages : 4 617 Inscrit le 15/06/03
Ville : Montréal
Non connecté
|
|
Posté le 17 mai 2005 - 06 h 29 m 02 s |
|
|
Tout dépend du public : si à 95%, ce sont des Windozins sous IE 6 qui ne désactivent pas JS et que les 5% restants peuvent être ignorés, c'est bien (mais pas parfait) comme ça. Si il y a du monde sous Lynx, c'est sûr que ça change un peu la donne...
|
|
| |
Huile de fraise.
|
mik69
Allez l'OL !
Messages : 1 282 Inscrit le 02/07/03
Ville : GRIGNY 69
Non connecté
|
|
Posté le 17 mai 2005 - 20 h 25 m 23 s |
|
|
On ne peut pas faire du javascript sous Linux et l'afficher.. ?
|
|
| |
Message édité 1 fois, la dernière par mik69 le 18 mai 2005 - 21 h 38. |
| |
|
MrGinglE
Messages : 55 Inscrit le 16/05/05
Ville : Grenoble
Non connecté
|
|
Posté le 17 mai 2005 - 23 h 09 m 25 s |
|
|
Lynx n'est pas linux. C'est un navigateur texte.
|
|
| |
Il n'y à pas de partage sans savoir, mais mieux vaut ne pas partager quand on ne sait pas... http://mrgingle.info !!
|
mik69
Allez l'OL !
Messages : 1 282 Inscrit le 02/07/03
Ville : GRIGNY 69
Non connecté
|
|
Posté le 18 mai 2005 - 21 h 39 m 11 s |
|
|
oupppsss... confondu les mots..
|
|
| |
|