Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1491 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu] [php/mySQL JS?] Case a cocher evenementielle.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Resolu] [php/mySQL JS?] Case a cocher evenementielle.

n°1572995
kashir
<a href="javascript:c.popup";>
Posté le 11-06-2007 à 06:09:43  profilanswer
 

Bonjour
 
Je cherche à faire apparaitre une check box à coté d'un liste déroulante que si on selectionne un champ specifique dans la liste déroulante.
 
Ma liste déroulantes est generer par une requete php
 

Code :
  1. <? 
  2. $db_conn = mysql_connect("localhost", "util", "mdp" );
  3. mysql_select_db("name_base", $db_conn);
  4. $SQL = "SELECT `id_categorie`, `lib_categorie` FROM categorie ORDER BY `id_categorie` ASC, `lib_categorie` ASC";
  5. $res = mysql_query($SQL);
  6. echo "<OPTION VALUE='#'>==> Choisir categorie <==</option>\n";
  7. while($val = mysql_fetch_array($res))
  8.              {
  9.  echo "<OPTION VALUE='".$val["id_categorie"]."'>".$val["lib_categorie"]."</option>\n";
  10. }
  11.          ?>


 
 
j'imagine que le code est a faire en JS mais je n'ai aucune idée de comment m'y prendre :s
Si qqun a une idée, je l'en remercie d'avance ;)


Message édité par kashir le 12-06-2007 à 15:55:04
mood
Publicité
Posté le 11-06-2007 à 06:09:43  profilanswer
 

n°1573057
cgo2
Dum spiro spero
Posté le 11-06-2007 à 10:37:37  profilanswer
 

D'abord tu fais ton formulaire complet.
 
Ensuite tu mets ta checkbox en display:none par défaut (sauf si l'option sélectionnée par défaut est la bonne).
 
Enfin tu ajoutes un évenement sur ton select : à chaque fois qu'il change, tu vérifies si l'option choisie est celle que tu veux. Si oui, tu mets la checkbox en display : block, sinon tu la remets en display : none.


---------------
When it's from Finland it's good.  - Mon blog
n°1573170
kashir
&lt;a href=&#034;javascript:c.popup&#034;;&gt;
Posté le 11-06-2007 à 12:30:04  profilanswer
 

La propriété display n'est pas stipulé par l'intel insense de dreamweaver bizarement.
 
Ce que tu essaie de me dire c'est que je dois par default la rendre invisible et quand mon champ est selectionner dans ma liste deroulante alors a ce moment là l'evenement declenche l'apparition de la checkbox ?
C'est ce que j'essaie de faire en tout cas mais rendre invisible la check box est faisable, mais en evenementielle, ça reste un peu plus dur ;)
 
 
Ou veut tu mettre le display dans cette balise ?  

Code :
  1. <input type="checkbox" name="checkbox" value="checkbox">


Message édité par kashir le 11-06-2007 à 12:31:07
n°1573173
Fr3d69
Posté le 11-06-2007 à 12:36:24  profilanswer
 

<input type="checkbox" name="checkbox" value="checkbox" style="display:none;">

n°1573176
kashir
&lt;a href=&#034;javascript:c.popup&#034;;&gt;
Posté le 11-06-2007 à 12:43:04  profilanswer
 

Ok ça marche pour la box
 
ensuite je dois creer un evenement sur le select de la deroulante
 

Code :
  1. <select name="categorielocation" ;>
  2. <? 
  3. $db_conn = mysql_connect("localhost", "*****", "******" );
  4. mysql_select_db("********", $db_conn);
  5. $SQL = "SELECT `id_categorie`, `lib_categorie` FROM categorie ORDER BY `id_categorie` ASC, `lib_categorie` ASC";
  6. $res = mysql_query($SQL);
  7. echo "<OPTION VALUE='#'>==> Choisir categorie <==</option>\n";
  8. while($val = mysql_fetch_array($res)) {
  9.  echo "<OPTION VALUE='".$val["id_categorie"]."'>".$val["lib_categorie"]."</option>\n";
  10. }
  11. ?>
  12. </select>


 
C'est a dire la propriétée "OnChange" je suppose ?
Que dois-je lui mettre en argument ?

n°1573177
Fr3d69
Posté le 11-06-2007 à 12:47:07  profilanswer
 

De mémoire tu devrais avoir un truc qui ressemble a ca :  
 
<select name="categorielocation" onchange="document.getElementById('checkbox').style.display='block';">

n°1573797
kashir
&lt;a href=&#034;javascript:c.popup&#034;;&gt;
Posté le 12-06-2007 à 15:02:31  profilanswer
 

oui ton bout de code fonctionne mais ne repond pas totalement a ce que je recheche.
 
Je desirerai que ma check box n'apparaissent que si je selectionne un certain champ dans ma liste deroulante, et dans le cas ou je met ton code elle apparait dés que je change de champ :s
 
Je continue a chercher mais si qqun a une idée je suis toute ouïe !

n°1573811
Bouchon2
Crabe glauque
Posté le 12-06-2007 à 15:16:26  profilanswer
 

Faut adapter enfin...

Code :
  1. onchange="document.getElementById('checkbox').style.display=(this.value=='avec checkbox' ? 'block' : 'none');"

n°1573812
anapajari
s/travail/glanding on hfr/gs;
Posté le 12-06-2007 à 15:18:14  profilanswer
 

fait un test sur la valeur du champs selectionné au moment du onchange

n°1573814
cgo2
Dum spiro spero
Posté le 12-06-2007 à 15:20:03  profilanswer
 

cgo2 a écrit :

Enfin tu ajoutes un évenement sur ton select : à chaque fois qu'il change, tu vérifies si l'option choisie est celle que tu veux. Si oui, tu mets la checkbox en display : block, sinon tu la remets en display : none.


 
Faut utiliser if, else, et this.options[this.selectedIndex].value... allez un petit effort on va pas t'écrire tout le code non plus :o
 
edit : ah ben si...

Message cité 1 fois
Message édité par cgo2 le 12-06-2007 à 15:41:39

---------------
When it's from Finland it's good.  - Mon blog
mood
Publicité
Posté le 12-06-2007 à 15:20:03  profilanswer
 

n°1573817
Bouchon2
Crabe glauque
Posté le 12-06-2007 à 15:21:24  profilanswer
 

this.value c'est plus court, cf code précédent...

n°1573831
kashir
&lt;a href=&#034;javascript:c.popup&#034;;&gt;
Posté le 12-06-2007 à 15:36:54  profilanswer
 

cgo2 a écrit :

Faut utiliser if, else, et this.options[this.selectedIndex].value... allez un petit effort on va pas t'écrire tout le code non plus :o


 
ça marche trés bien sans if & else t'en fait pas mais merci de t'inquieter pour la syntaxe
 
merci et à bientot

n°1574988
kashir
&lt;a href=&#034;javascript:c.popup&#034;;&gt;
Posté le 14-06-2007 à 15:46:00  profilanswer
 

je poste la reponse quand meme, c'est la moindre des choses
 

Code :
  1. <select name="categorielocation" onchange="
  2. index = (this.options[this.selectedIndex].value);
  3. if (index == 1)
  4. {
  5. document.getElementById('vehicul').style.display='block';document.getElementById('salle').style.display='none';
  6. document.getElementById('checkbox-vehicule').style.display=(this.value == index ? 'block' : 'none');
  7. document.getElementById('checkbox-salle').style.display=(this.value == index ? 'none' : 'block');
  8. }
  9. else
  10. {if ( index == 2)
  11. {
  12. document.getElementById('salle').style.display='block';
  13. document.getElementById('vehicul').style.display='none';
  14. document.getElementById('checkbox-salle').style.display=(this.value == index ? 'block' : 'none');
  15. document.getElementById('checkbox-vehicule').style.display=(this.value == index ? 'none' : 'block');
  16. }
  17. else
  18. {
  19. document.getElementById('vehicul').style.display='none';
  20. document.getElementById('salle').style.display='none';
  21. document.getElementById('checkbox-salle').style.display=(this.value == index ? 'none' : 'block');
  22. document.getElementById('checkbox-vehicule').style.display=(this.value == index ? 'none' : 'block');
  23. }
  24. }" >


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Resolu] [php/mySQL JS?] Case a cocher evenementielle.

 

Sujets relatifs
[Résolu] phpMyAdmin et BRExcel - VBA - Copier du texte au double clic [résolu]
?? Requette sql pour connaitre le nombre d'entrée dans une table mysql[Résolu] /?page=contact
[C#] Problème requête MySqlRésolu - Problème d'éxécution programme VB Express
Auto execution de requette avec mysql[javascript][resolu] variable php dans javascript
[résolu] Script pour XML et DTD[Résolu] Afficher le temps qui s'écoule pendant un traitement
Plus de sujets relatifs à : [Resolu] [php/mySQL JS?] Case a cocher evenementielle.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR