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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [resolu][PHP/JS] Afficher div via selection dans une liste/radio

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu][PHP/JS] Afficher div via selection dans une liste/radio

n°1661354
eliote
Posté le 20-12-2007 à 17:44:21  profilanswer
 

Bonjour,
 
Apres plusieurs recherches, je ne trouve toujours pas ma solution, je me décide donc à vous demandez ! :)
Voici mon porblème :
Dans un formulaire, sur une balise <select> je dois afficher un champs de formulaire supplémentaire si option1 est selectionné.
 
Je pense que c'est possible de le faire facilement mais je n'y arrive pas ! :o
 
Mes piste m'on fait partir vers onchange en js mais si je valide par submit le formulaire je lance une requete pour inscrire mes données dans une base, je ne peux donc pas valider le formulaire.
 
Un peu (beaucoup ?) d'aide me serait bien utile ;)
 
Merci d'avance
 
BN


Message édité par eliote le 04-01-2008 à 11:36:59
mood
Publicité
Posté le 20-12-2007 à 17:44:21  profilanswer
 

n°1664032
the_bigboo
Posté le 30-12-2007 à 01:07:53  profilanswer
 

dans ton select tu rajoutes :

Code :
  1. onchange="if( this.selectedIndex==1){ document.getElementById('monDiv').style.display='block'; }else{ document.getElementById('monDiv').style.display='none'; }"


Edit : En adaptant bien sur a tes noms de variables :)


Message édité par the_bigboo le 30-12-2007 à 01:08:31
n°1664233
gatsu35
Blablaté par Harko
Posté le 31-12-2007 à 12:55:12  profilanswer
 

avec un operateur ternaire ca prend moins de place :  
onchange="document.getElementById('monDiv').style.display= (this.selectedIndex==1) ? 'block' : 'none';"

n°1665059
eliote
Posté le 03-01-2008 à 09:51:32  profilanswer
 

Bonjour et merci pour vos reponses,  
 
Comment puis je faire une selection sur deux champs de la liste ? En gros je veux afficher si selection : fournisseur ou client , les champs nom et ville
 
J'utilise la solution de Gasu35.
 
le premier affichage du formulaire m'affiche tous les champs, c'est seulement lorsque je selectionne un champ autre que fournisseur que le champ nom disparait, pourriez m'indiquer comment résoudre le problème.
 
Merci d'avance et bonne année 2008 !


Message édité par eliote le 03-01-2008 à 10:14:10
n°1665070
the_bigboo
Posté le 03-01-2008 à 10:18:51  profilanswer
 

Dans ce cas c'est plus intéressant d'utiliser les valeurs plus que le selectedIndex :

Code :
  1. onchange="document.getElementById('monDiv').style.display= (this.options[this.selectedIndex].value== 'fournisseur' || this.options[this.selectedIndex].value=='client' ) ? 'block' : 'none';"

n°1665072
eliote
Posté le 03-01-2008 à 10:27:01  profilanswer
 

Merci pour votre réponse rapide, ca fonctionne nickel, par contre au premier affichage du formulaire il m'affiche toujours le selected que je veux afficher que si on selectionne fournisseur.
 
J'essaye avec <div id="pr1" style="display:none"> mais cela ne fonctionne pas pour cacher le div


Message édité par eliote le 03-01-2008 à 11:41:37
n°1665104
the_bigboo
Posté le 03-01-2008 à 12:00:54  profilanswer
 

déjà il manque le ; apres "none", ensuite utilises les balises "cpp" pour le code :)

n°1665108
eliote
Posté le 03-01-2008 à 12:08:14  profilanswer
 

Code :
  1. <select name="zs_secteur" onchange="document.getElementById('four/stt').style.display= (this.options[this.selectedIndex].value== 'FOURNISSEUR/STT' || this.options[this.selectedIndex].value=='GESTE COMMERCIAL' ) ? 'block' : 'none';">


...

Code :
  1. <div id='four/stt' style='display:none;'>
  2. <tr class="Stylenormal" bgcolor="#EEF5F9">
  3.    <td width="400" >
  4.     Fournisseur /sous-traitant :
  5.     <?php if ((($mode == "view"&&$etat != "EC" )&&$_SESSION['login'] != 'admin')||$etat == "NCV" ){ echo "<b>".$fournisseur."</b>"; }else{ ?>
  6.      <input type="text" name="zs_nom_four" value="<?php  echo  $fournisseur; ?>"/>
  7.     <?php } ?>
  8.    </td>
  9.    <td width="400">Réclamation :
  10.    <?php if ((($mode == "view"&&$etat != "EC" )&&$_SESSION['login'] != 'admin')||$etat == "NCV" ){ echo "<b>".$reclamation."</b>"; }else{ ?>
  11.     <input type="radio" id="reclam/four" name="zs_reclamation" value="Oui" <?php  if( $reclamation =='Oui') { echo 'checked'; } ?>/>Oui <input type="radio" name="zs_reclamation" value="Non" <?php if( $reclamation =='Non') { echo 'checked'; } ?>/>Non
  12.     <?php } ?>
  13.    </td>
  14.   </tr>
  15.   </div>


 
Mon div s'affiche quand meme, à la premiere visualisation de mon formulaire, je ne vois pas pourquoi.
Je n'utilise prartiquement jamais de js, je suis un peu perdu sur ce langage.
 
Merci d'avance de votre aide.


Message édité par eliote le 03-01-2008 à 12:10:52
n°1665676
eliote
Posté le 04-01-2008 à 10:26:14  profilanswer
 

J'ai supprimé mon div et j'ai mis l'id dans la ligne du tableau, ça fonctionne.
 
Je cherche maintenant à afficher une ligne via un bouton radio.
cad, si le bouton radio est coché, j'affiche d'autre option du formulaire (textarea), si on decoche l'option je masque les options.
 
[cpp]oncchange="document.getElementById('reparation').style.display= (this.selected) ? 'block' : 'none';"(/cpp]
 
Cette ligne fonctionne mal, à l'affichage les options sont visibles, quand je selectionne le bouton les options sont toujours visibles et lorsque je selectionne un autre bouton les options disparaissent :-(
 
Je suis une buse sur le js, vous pouvez m'eclairer ?
 
Merci d'avance.


Message édité par eliote le 04-01-2008 à 11:02:07
n°1665720
eliote
Posté le 04-01-2008 à 11:34:17  profilanswer
 

sur le bouton sur lequel on veut afficher les options :

Code :
  1. onclick="document.getElementById('reparation').style.display= (this.value) ? 'block' : 'none';"


 
Sur les autres boutons : (fonction)

Code :
  1. onclick="masquer('reparation','none')"
  2. <script language="javascript">
  3. function masquer (id, value) {
  4.  document.getElementById(id).style.display = value;
  5. }
  6. </script>


Message édité par eliote le 04-01-2008 à 11:36:22

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [resolu][PHP/JS] Afficher div via selection dans une liste/radio

 

Sujets relatifs
[SQL Pervasive\VB .NET][RESOLU] Passerelle EBP[Struts]Afficher les données venant d'une db
[Résolu] [lex & Yacc] Segmentation faultPHP et SESSIONS
[Résolu] ndd.net/includes/print.php en ndd.net/print.php[PHP] Erreur incompréhensible
[Résolu]Probleme Css IE6[C++][Résolu] Le compilateur semble ignorer une classe : pourquoi ?
PHP:Envoyer le montant à scellius[Resolu] Update ADODB ne fonctionne pas
Plus de sujets relatifs à : [resolu][PHP/JS] Afficher div via selection dans une liste/radio


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