uXcoOl, SnoOzeR Achats/Ventes : bregeon, lameuse Divers : Naunaud128, leopopo et 26 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

bouton radio

 
n°65223
kaukos
Posté le 22-05-2008 à 21:10:19  profilanswer
 

bonjour,
 
en html,javascript, php, comment faire pour recupérer l'état d'un bouton radio ?
 
en gros lorsque je clic sur un radio, celui refresh la page :
 

Code :
  1. <form action="index1.php" method="POST" name="formulaire">
  2. Je suis
  3. <input type="radio" name="Genre" id="truc" value="Active" onclick="this.form.submit();"> Active
  4. <input type="radio" name="Genre" id="truc2" value="Desactive" onclick="this.form.submit();"> Desactive<br>
  5. </form>


 
le probleme ici c'est que je ne vois pas le bouton checked. Comment je peux faire ?
 
merci
 
 

n°65226
kaukos
Posté le 22-05-2008 à 22:33:09  profilanswer
 

update :

 


Code :
  1. <form action="index1.php" method="POST" name="formulaire">
  2. Je suis
  3. <script>checked();</script>
  4. <input type="radio" name="Genre" id="8hOn" value="Active" onclick="this.form.submit();" > Active
  5. <input type="radio" name="Genre" id="8hOff" value="Desactive" onclick="this.form.submit();"> Desactive<br>
  6. </form>
  7. <?php
  8. if ($_POST[Genre] == "Active" )
  9. {
  10. echo "post[genre] : <b>" . $_POST[Genre] . "</b><br>" . $value;
  11. }
  12. else
  13. {
  14. echo "post[genre] : <b>" . $_POST[Genre] . "</b><br>";
  15. }
  16. ?>
  17. <script>
  18. function checked()
  19. {
  20. if($_POST[Genre] == 'Active')
  21. {
  22. document.getElementById('8hOn').checked= 'true';
  23. }
  24. else
  25. {
  26. document.getElementById('8hOff').checked='true';
  27. }
  28. }
  29. </script>
 


pourquoi ca marche pas ?


Message édité par kaukos le 22-05-2008 à 22:34:21
n°65249
kaukos
Posté le 25-05-2008 à 23:29:10  profilanswer
 

je suis peut etre pas très clair... et je remarque que mon code est nul...
 
En gros ce que je veux, c'est faire une page php qui contient des boutons radio (active/desactive).
Si le bouton active est cliqué, alors on rafraichi la page, on checked le bouton.
De même pour le bouton desactive.
 
enfin, en fonction des boutons, je dois exécuter un bout de code php.
 
Voila merci

n°65251
LostSoul
Manieur de hache
Posté le 26-05-2008 à 07:13:20  profilanswer
 

Faut demander à Ashe :sol:


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65256
kaukos
Posté le 27-05-2008 à 01:21:23  profilanswer
 

aaaassshhheee ?? :p

n°65257
sebx
boulet cherche canon
Posté le 27-05-2008 à 10:00:11  profilanswer
 

<ashe>
le php cay mal  :o
</ashe>


---------------
Célibataire & béhémiste de service
Gentil Organisateur des rencontres matbe
JH 27 ans, bon salaire, propriétaire, roulant en berline Allemande cherche femme pour mariage, bébés et + si affinités
n°65258
LostSoul
Manieur de hache
Posté le 27-05-2008 à 10:02:09  profilanswer
 

Moi le php j'y connais rien donc je peux pas t'aider :p


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65259
Ashe
reenignE esreveR
Posté le 27-05-2008 à 10:11:40  profilanswer
 

Tiens j'avais pas vu ce topic :D
Ligne 9, if ($_POST['Genre']
Manque les '' (+ maj)
Et = true, pas = 'true'
(et du PHP au milieu d'un <script> ca fera pas grand chose)


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°65260
Ashe
reenignE esreveR
Posté le 27-05-2008 à 10:18:07  profilanswer
 

Sinon histoire d'aller + vite:
 

Code :
  1. <?php
  2. $genre = isset($_POST['genre']) ? $_POST['genre'] : '';
  3. switch ($genre)
  4. {
  5. case 'active':
  6.     // ton truc si c'est active
  7.     break;
  8. case 'desactive':
  9.     // ton truc si c'est desactive
  10.     break;
  11. default:
  12.     // ton truc quand ca foire
  13.     break;
  14. }
  15. ?>
  16. <html>
  17. <head>
  18. ...
  19. <body>
  20. <form method="post" action="index1.php">
  21. <input type="radio" name="genre" value="active" onclick="this.form.submit()" <?php if ($genre == 'active') echo ' checked="checked"'; ?>/>
  22. <input type="radio" name="genre" value="desactive" onclick="this.form.submit()" <?php if ($genre == 'desactive') echo ' checked="checked"'; ?>/>
  23. </form>
  24. ..


 
Par contre faut voir si en prenant le onclick tu vas pas faire le submit avant que le radio soit selectionne :D


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°65261
kaukos
Posté le 27-05-2008 à 11:17:49  profilanswer
 

ca fonctionne super bien.

 

Merci a toi

 


Tu penses que si je rajoute un id dans mon input, je pourrais le récupérer dans une autre page ( en imaginant que dans mon case je fasse un include d'une autre page).

 


Code :
  1. switch ($genre)
  2. {
  3. case 'active':
  4.      // ton truc si c'est active
  5.      include "test.php";
  6.      break;
  7. ...
  8. <form method="post" action="index1.php">
  9. <input type="radio" name="genre" id="truc" value="active" onclick="this.form.submit()" <?php if ($genre == 'active') echo ' checked="checked"'; ?>/>
  10. <input type="radio" name="genre" id="truc" value="desactive" onclick="this.form.submit()" <?php if ($genre == 'desactive') echo ' checked="checked"'; ?>/>
  11. </form>

 


et donc dans test.php :

 
Code :
  1. $_POST['genre'] . $id   ??


Message édité par kaukos le 27-05-2008 à 11:25:56
n°65262
Ashe
reenignE esreveR
Posté le 27-05-2008 à 11:36:06  profilanswer
 

Ben un id c'est local a la page
C'est quoi le but?


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°65263
kaukos
Posté le 27-05-2008 à 11:56:55  profilanswer
 

arf,
 
en faites j'ai un autre problème, car je veux utiliser d'autre from.
 
Bon je t'expliique :
 
je veux faire une page qui permet d'activer/désactiver une fonction en prenant compte de paramètre deux : (s'il est activé ou désactivé et l'id qui représente l'heure a laquelle la fonction doit être activé :
 
horaire            active          désactive
 
8h                     o                  o    
 
9h                     o                  o
 
10h                   o                  o
 
 
Donc lorqu'un utilisateur appuie sur le bouton radio active de l'horaire 8h, celle ci execute une fonction php prenant en paramètre l'heure.
 
Tu vois ?

n°65264
kaukos
Posté le 27-05-2008 à 11:59:14  profilanswer
 

voici le code :

 
Code :
  1. <?php
  2. $genre = isset($_POST['genre']) ? $_POST['genre'] : '';
  3. switch ($genre)
  4. {
  5.  case 'active':
  6.      echo "l'accès est autorisé de 8h00 à 9h00";
  7.      break;
  8.  case 'desactive':
  9.      echo "l'accès est interdit de 8h00 à 9h00";
  10.      break;
  11.  default:
  12.      echo "none";
  13.      break;
  14. }
  15. ?>
  16. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  17. <html>
  18. <head>
  19.  <link href="interface.css" type="text/css" rel="stylesheet" title="default style" media="all" />
  20.  <title >Plannification internet</title>
  21. </head>
  22. <body><table border="0" cellspacing="0" style="text-align:center">
  23.   <form method="post" action="index.php">
  24.   <tr style="font-weight:bold">
  25.    <td width="120px">Plage Horaire</td>
  26.    <td width="75px">Activer</td>
  27.    <td width="75px">Désactiver</td>
  28.   </tr>
  29.   <tr>
  30.    <td>8h00 - 9h00</td>
  31.    <td><input type="radio" id="8h" name="genre" value="active" onclick="this.form.submit()" <?php if ($genre == 'active') echo ' checked="checked"'; ?>/></td><
  32.    <td><input type="radio" id="8h" name="genre" value="desactive" onclick="this.form.submit()" <?php if ($genre == 'desactive') echo ' checked="checked"'; ?>/></td>
  33.   </tr>
  34.   </form>
  35.   <form method="post" action="index.php">
  36.   <tr>
  37.    <td>9h00 - 10h00</td>
  38.    <td><input type="radio" id="9h" name="genre" value="active" onclick="this.form.submit()" <?php if ($genre == 'active') echo ' checked="checked"'; ?>/></td><
  39.    <td><input type="radio" id="9h" name="genre" value="desactive" onclick="this.form.submit()" <?php if ($genre == 'desactive') echo ' checked="checked"'; ?>/></td>
  40.   </tr>
  41.   </form>
  42.  </table>
  43. <body>
  44. </html>
 


sauf que la, lorsuqe je clic sur active, tout les bouton actives sont activé (logique).


Message édité par kaukos le 27-05-2008 à 12:00:01
n°65265
LostSoul
Manieur de hache
Posté le 27-05-2008 à 11:59:14  profilanswer
 

Pourquoi utiliser un radio alors que la fonction actif / inactif peut être avantageusement réalisée avec une checkbox ?


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65266
kaukos
Posté le 27-05-2008 à 12:03:19  profilanswer
 

Si la solution est plus simple avec une checkbox, je veux bien :)

n°65269
kaukos
Posté le 27-05-2008 à 13:03:31  profilanswer
 

en faites, je me demande si c'est bien réalisable (avec checkbox ou radio)
 :/

n°65270
LostSoul
Manieur de hache
Posté le 27-05-2008 à 13:12:16  profilanswer
 

pas avec 3 forms en tout cas :p un seul suffit


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65271
Ashe
reenignE esreveR
Posté le 27-05-2008 à 13:19:44  profilanswer
 

Ben faut pas donner le meme name aux groupes de radios


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°65273
kaukos
Posté le 27-05-2008 à 16:12:13  profilanswer
 

donc autant d'ifsset que de form ?

n°65274
LostSoul
Manieur de hache
Posté le 27-05-2008 à 16:32:51  profilanswer
 

Je sais pas comment tu bricoles ton machin mais ca me semble méga lourd
 
Si t'as trois checkboxes portant le MEME nom avec 3 valeurs différentes, après le post, dans l'élément correspondant tu auras toutes les valeurs sélectionnées. (celles qui ont été cochées)
 
En ASP ca donne ca:
 

<html>
<head>
<body>
<%
 Response.Write Request.Form("hihi" ) & "<br/>"
%>
<form name="test" method="POST" action="test.asp">
 Check 1 <input type="checkbox" name="hihi" value="8h" /><br/>
 Check 2 <input type="checkbox" name="hihi" value="9h" /><br/>
 Check 3 <input type="checkbox" name="hihi" value="10h" /><br/>
 <input type="submit" name="Subit" />
</form>
</body>
</html>


 
En checkant uniquement les 2 premières, ca donne ca:

8h, 9h


 
Après il suffit de faire un split() et je crois même qu'on peut directement itérer avec un foreach
 
EDIT:
 

<html>
<head>
<body>
<%
 For Each elmt in Request.Form("hihi" )
  Response.Write "Selection :" + elmt + "<br/>"
 Next
%>
<form name="test" method="POST" action="test.asp">
 Check 1 <input type="checkbox" name="hihi" value="8h" /><br/>
 Check 2 <input type="checkbox" name="hihi" value="9h" /><br/>
 Check 3 <input type="checkbox" name="hihi" value="10h" /><br/>
 <input type="submit" name="Subit" />
</form>
</body>
</html>


Message édité par LostSoul le 27-05-2008 à 16:37:21

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65298
kaukos
Posté le 28-05-2008 à 21:16:14  profilanswer
 

j'arrive pas a m'en sortir :/

n°65299
Ashe
reenignE esreveR
Posté le 28-05-2008 à 22:00:14  profilanswer
 

Si tu expliquais en francais cke tu veux faire :D
(ca veut dire sans ligne de code)


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°65300
LostSoul
Manieur de hache
Posté le 28-05-2008 à 22:02:36  profilanswer
 

+1


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65301
kaukos
Posté le 28-05-2008 à 22:29:22  profilanswer
 

je vous montre quand meme mes lignes de code :p

 
Code :
  1. <?php
  2. //Si  mon mon tableau de valeurs des  checkbox n'est pas vide
  3. if(!empty($_POST["heure"])) {
  4. //on fait : POUR la premiere case à la derniere
  5.    for ($i = 0; $i < count($_POST["heure"]); $i++)
  6. {
  7.      echo $_POST["heure"][$i]." - ";
  8. $heure = isset($_POST['heure'][$i]) ? $_POST['heure'][$i] : '';
  9. switch ($heure)
  10. {
  11. case '8h':
  12.     echo "l'accès est autorisé de 8h00 à 9h00\n\n";
  13.     break;
  14. case '9h':
  15.     echo "l'accès est interdit de 9h00 à 10h00";
  16.     break;
  17.  case '10h':
  18.     echo "l'accès est interdit de 10h00 à 11h00";
  19.     break;
  20. default:
  21.     echo "none";
  22.     break;
  23. }
  24. }
  25. }
  26. ?>
  27. <html>
  28. <body>
  29. <form method="POST" action="test.php">
  30. Check 1 <input type="checkbox" name="heure[]" value="8h" /><br/>
  31. Check 2 <input type="checkbox" name="heure[]" value="9h" /><br/>
  32. Check 3 <input type="checkbox" name="heure[]" value="10h" /><br/>
  33. <input type="submit" name="Submit"/>
  34. </form>
  35. </body>
  36. </html>
 

EDIT1: modification de l'étendu de ma boucle


Message édité par kaukos le 29-05-2008 à 13:22:20
n°65302
sebx
boulet cherche canon
Posté le 28-05-2008 à 22:30:50  profilanswer
 

tu sais pas parler en Français ?  :'(


---------------
Célibataire & béhémiste de service
Gentil Organisateur des rencontres matbe
JH 27 ans, bon salaire, propriétaire, roulant en berline Allemande cherche femme pour mariage, bébés et + si affinités
n°65303
kaukos
Posté le 28-05-2008 à 22:31:59  profilanswer
 

[borné]si, mais je suis sur que si ce bout de code fonctionne c'est ok[/borné]


Message édité par kaukos le 28-05-2008 à 22:32:19
n°65304
LostSoul
Manieur de hache
Posté le 28-05-2008 à 22:32:23  profilanswer
 

"Un problème qui n'est pas correctement énoncé n'a quasi aucune chance d'être correctement programmé" :jap:


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65305
kaukos
Posté le 28-05-2008 à 22:42:13  profilanswer
 

En gros, ce que je veux faire, c'est une interface qui ajoute ou supprime un groupe dans un groupe dans active directory.
en faites, ce que je souhaite c'est qu'a une heure donnée, les membres d'un groupe X on accès ou non a internet (pour cela, j'ajoute mon groupe X dans le groupe internet_activé) ==>> j'ai déjà codé l'ajout et la suppression de groupe dans active directory dans une page php.

 

Le truc, c'est qu'il y a plusieurs groupes a gérer et à différentes horaires. Mais pour gérer ca, j'ai délégué a une personne appartenant a un groupe, la possibilité d'ajout/supprimer l'acces internet de son groupe.

 

Donc j'ai créé une simple page d'authentification qui, en fonction du déléguer, permettra d'activer les horaires d'accès a internet a tout moment.

 


c'est clair ?

 



Message édité par kaukos le 28-05-2008 à 22:43:26
n°65306
LostSoul
Manieur de hache
Posté le 28-05-2008 à 22:43:39  profilanswer
 

Ca n'explique pas ce que doit faire ta page là
 
EDIT: ceci dit ton code ... euh ... comment dire ...
 

   for ($i = 0; $i < count($_POST["heure"]); $i++)
      echo $_POST["heure"][$i]." - ";


 
Ca ca parcourt tous les éléments de $_POST["heure"] ( $_POST["heure"][0] -> $_POST["heure"][n])
Quand tu sors de la bouche, $i vaut count($_POST["heure"])
 
Donc après  
 

$heure = isset($_POST['heure'][$i]) ? $_POST['heure'][$i] : '';


 
Ca va te retourner tout le temps une chaîne vide ...
 
Si tu veux que ca marche faut ptet mettre ton assignation et to switch DANS le for ...


Message édité par LostSoul le 28-05-2008 à 22:48:38

---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65307
kaukos
Posté le 28-05-2008 à 22:50:17  profilanswer
 

j'ai modifier l'étendu de ma boucle ci dessus

n°65318
kaukos
Posté le 29-05-2008 à 13:23:35  profilanswer
 

Resolu. J'ai trouvé une manip un peu barbare mais je devrais réussir a optimisé le code quand j'aurais le temps

n°65319
Ashe
reenignE esreveR
Posté le 29-05-2008 à 13:36:19  profilanswer
 

(et la marmotte)


---------------
Globe trotter/SDF - Namur, Belgique
Joy, beautiful spark of the gods, Daughter of Elysium, We enter fire imbibed, Heavenly, thy sanctuary.
Trombi Matbe
n°65321
LostSoul
Manieur de hache
Posté le 29-05-2008 à 13:44:55  profilanswer
 

kaukos a écrit :

Resolu. J'ai trouvé une manip un peu barbare mais je devrais réussir a optimisé le code quand j'aurais le temps


 
Optimiser un code de 2 lignes ...  [:bbloup:3]


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65331
kaukos
Posté le 29-05-2008 à 18:51:38  profilanswer
 

nan pas trop j'ai environ 400 lignes (bon c'est pas beaucoup) mais ya des boucles que je pourrais rajouter.

 

je ne vous ai donné qu'une partie du code final

 

En tout cas merci *


Message édité par kaukos le 29-05-2008 à 18:53:02
n°65334
sebx
boulet cherche canon
Posté le 29-05-2008 à 18:55:11  profilanswer
 

optimiser en ajoutant des boucles ? :d


---------------
Célibataire & béhémiste de service
Gentil Organisateur des rencontres matbe
JH 27 ans, bon salaire, propriétaire, roulant en berline Allemande cherche femme pour mariage, bébés et + si affinités
n°65336
LostSoul
Manieur de hache
Posté le 29-05-2008 à 19:18:39  profilanswer
 

sebx a écrit :

optimiser en ajoutant des boucles ? :d


 
 :whistle:


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65338
sebx
boulet cherche canon
Posté le 29-05-2008 à 19:28:30  profilanswer
 

quoi toi aussi t'optimises en ajoutant des boucles ?  :d


---------------
Célibataire & béhémiste de service
Gentil Organisateur des rencontres matbe
JH 27 ans, bon salaire, propriétaire, roulant en berline Allemande cherche femme pour mariage, bébés et + si affinités
n°65341
LostSoul
Manieur de hache
Posté le 29-05-2008 à 19:39:27  profilanswer
 

sebx a écrit :

quoi toi aussi t'optimises en ajoutant des boucles ?  :d


 
Non moi j'optimise avec des appels récusifs cay plus mieux  [:ddr555]


---------------
In Girum Imus Nocte Et Consumimur Igni
In-Wonderland - Blog - Start64
n°65342
kaukos
Posté le 29-05-2008 à 19:40:09  profilanswer
 

bah quand t'as 15 opérations identiques a faire la suite, j'penses que ça commence a être pratique (et surtout plus lisible)...
 


Aller à :
Ajouter une réponse