IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

checkbox,liste déroulante,champs texte


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut checkbox,liste déroulante,champs texte
    Bonjour,

    Je possède un checkbox si celui-ci est coché cela active une liste déroulante suivant le choix de cette liste, sa agremente un champs texte.
    Voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    			<tr>
    				<td><input type="checkbox" id="caseOi" name="caseOi"/><span> n ° OI : </span></td>
    				<td>
    					<select id = "numero_oi" name="numero_oi" style="width : 120px" onchange="remplirOi(this)">
    						<option value = -1>-------------OI-------------</option>
    					<%
    							DBConnexion dbc_oi = new DBConnexion();
    							String sql_oi = "SELECT id_oi,num_oi,libelle_oi FROM oi";
    							ResultSet resultat_oi = dbc_oi.recupereRequete(sql_oi);
    							String tab="var tabLibelleOi=new Array();";
    							while(resultat_oi.next())
    							{
    								out.print("<option value="+resultat_oi.getString("id_oi")+">"+resultat_oi.getString("num_oi")+"</option>");
    								tab+="tabLibelleOi['"+resultat_oi.getString("id_oi")+"']='"+resultat_oi.getString("libelle_oi")+"';";
    							}
    							dbc_oi.closeConnexion();
    					%>
    					</select>
    				</td>
    				<td><td><input type="text" id="nomOI" name="nomOI" size="60" maxlength ="17" readonly /></td></td>
     
     
    						<script language="javascript">
    							<%=tab%>
    							function remplirOi(selNumOi){
    								var num_oi=selNumOi.value;
    								var nomOI=tabLibelleOi[num_oi];
    								document.getElementById('nomOI').value=nomOI;
    							}
    						</script>
     
    			</tr>
    Les deux fonctions en javascript fonctionne tres bien chacune de leur codé mais les deux ensemble non. Je n'ai aucune erreur dans mon navigateur. Lorsque je coche la case j'active bien la liste déroulante, suivante le choix de celle-ci, cela n'agremente pas le champs texte

    si quelqu'un pourrai m'aider

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Bonjour,

    Nous avons besoin du code source généré pour pouvoir t'aider : dans le code javascript tu fais
    Comment peut-on savoir quel code cela génère ?

    + cette histoire de checkbox ; il n'y a pas de code (ou pas de code visible concernant la checkbox)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <tr>
    				<td><input type="checkbox" id="caseOi" name="caseOi"/><span> n ° OI : </span></td>
    				<td>
    					<select id = "numero_oi" name="numero_oi" style="width : 120px" onchange="remplirOi(this)">
    						<option value = -1>-------------OI-------------</option>
    					<option value=1>A321PC2AOE01</option><option value=2>A321PC2AQE01</option><option value=3>A321PC2AVE01</option><option value=4>A321PC0AAE01</option><option value=5>A321PC0ABE01</option><option value=6>A321PC0ACE01</option><option value=7>A321PC0AEE01</option><option value=8>A321PC0AGE01</option><option value=9>A321PC0CBE01</option><option value=10>A321PC0CFE01</option><option value=11>A321PC0CHE01</option><option value=12>A321PC0DCE01</option><option value=13>A321PC2GCE01</option><option value=14>A321PC2GEE01</option><option value=15>A321PC2GGE01</option><option value=16>A321PC2GHE01</option><option value=17>A321PC2HBE01</option><option value=18>A321PC2ICE02</option><option value=19>A321PC3CJE31</option><option value=20>A321PC2BOE01</option><option value=21>A321PC2EIE01</option><option value=22>A321PC2IVE01</option>
    					</select>
    				</td>
    				<td><td><input type="text" id="nomOI" name="nomOI" size="60" maxlength ="17" readonly /></td></td>
     
    					<script type="text/javascript">
    						var caseOi = document.getElementById('caseOi');
    						var numero_oi = document.getElementById('numero_oi');
    						numero_oi.disabled = true;
    						caseOi.onclick = function() {
    							document.getElementById('nomOI').value='';
    							numero_oi.disabled = !numero_oi.disabled; // inverse l'attribut disabled
    						}
    						var numero_oi = document.getElementById('numero_oi');
    						numero_oi.onchange = function() {
    						   var value = numero_oi.value; // récupère le texte de l'input
    						}
    					</script>
     
    						<script language="javascript">
    							var tabLibelleOi=new Array();tabLibelleOi['1']='Despanage BT sousterrain';tabLibelleOi['2']='Despanage HT sousterrain';tabLibelleOi['3']='Recherche les défauts de câbles';tabLibelleOi['4']='Déplacer, modifier ouvrage Base Tension(imposé)';tabLibelleOi['5']='Déplacer, modifier ouvrage HTA';tabLibelleOi['6']='Deplacement Base Tension demande des Tiers sauf branchement';tabLibelleOi['7']='Deplacement Base Tension demande des Tiers branchement';tabLibelleOi['8']='Déplacement HTA demande des Tiers sauf branchement';tabLibelleOi['9']='Etude et suivi réalisation des raccordement client BT > 36kVA - Dep';tabLibelleOi['10']='Branchement provisoire demande des Tiers client HTA';tabLibelleOi['11']='Branchement provisoire demande des Tiers client BT > 36kVA';tabLibelleOi['12']='Etude et suivi réalisation raccordement Producteur BT < 36kVA - Recettes';tabLibelleOi['13']='Démolir ouvrage Base Tension non renouvelé';tabLibelleOi['14']='Démolir ouvrage HTA non renouvelé';tabLibelleOi['15']='Modification ouvrage Base Tension sur même ETI';tabLibelleOi['16']='Modification ouvrage HTA sur même ETI';tabLibelleOi['17']='Réaliser démolition de PS non renouvelés';tabLibelleOi['18']='Démolition ouvrage et branchement';tabLibelleOi['19']='Branchement provisoire demande  de Tiers client BT < 36kVA';tabLibelleOi['20']='Maintenance préventive poste HTA/BT';tabLibelleOi['21']='Accès ouvrages BT opération Distributeur';tabLibelleOi['22']='Maintenir professionalisme performance réseau électricité';
    							function remplirOi(selNumOi){
    								var num_oi=selNumOi.value;
    								var nomOI=tabLibelleOi[num_oi];
    								document.getElementById('nomOI').value=nomOI;
    							}
    						</script>
    Voila le code générer avec également la fonction concernant le checkbox. Désoler j'avais oublier de le copié dans le message

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    Je comprend pas pourquoi cela ne marche plus car renvoie bien les bonne chose

  5. #5
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Bonjour,

    Vous définissez deux fois le onchange de deux manières différentes. Enlevez par exemple ces lignes-ci:

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var numero_oi = document.getElementById('numero_oi');
    numero_oi.onchange = function() {
         var value = numero_oi.value; // récupère le texte de l'input
    }

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 153
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup ça marche parfaitement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] liste deroulante/champs texte associe
    Par anassyto dans le forum Access
    Réponses: 2
    Dernier message: 24/07/2006, 12h42
  2. recuperer valeur liste dans champs texte
    Par fredaphp dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/05/2006, 19h17
  3. Lier checkbox, liste déroulante et input texte
    Par pymouse dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/05/2006, 14h58
  4. Lier checkbox, liste déroulante et input texte
    Par pymouse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 18/05/2006, 11h32
  5. [VBA] choix valeur liste déroulante (champ texte d'1 table)
    Par Lou Pitchoun dans le forum Access
    Réponses: 14
    Dernier message: 22/02/2006, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo