Bonjour,
lors du chargement de ma page j'aimerais qu'un champs soit désactivé,
et après avoir sélectionné un choix de la liste( value=1) j'active mon champs texte.
Bonjour,
lors du chargement de ma page j'aimerais qu'un champs soit désactivé,
et après avoir sélectionné un choix de la liste( value=1) j'active mon champs texte.
Bonsoir,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function enableInput(){ var a = document.getElementById("idSelect"); document.getElementById("idInput").disabled= !(a.options[a.selectedIndex].value==1); }
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <select id="idSelect" onchange="enableInput()"> <option value="0">0</option> <option value="1">1</option> </select> <input type="text" disabled="disabled" id="idInput" />
A+.
ça marche pas je comprend pas pourquoi.
Voici mon code html:
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 <TR> <TD class="label">Type de paiement <span>*</span> </TD> <TD> <select name="paie" onchange="desactiver()"> <option value="0">paiement</option> <option value="1">chèque</option> <option value="2">carte bancaire</option> <option value="3">espèce</option> <option value="4">virement</option> <option value="5">prélèvement</option> <option value="6">Autre</option> </select> </TD> </TR> <TR> <TD class="lab">Montant de sous opération <span>*</span> </TD> <TD> <INPUT type=text name="montantssop" disabled="disabled"> </TD> <td>€</td> </TR>
qui y a t-il dans ta fonction désactiver(), qui visiblement devrait s'appeler activer() d'ailleurs?
Il faut que tu ais une ID sur ton INPUT si tu utilises la méthode getElementById.
Relis bien ce que t'as mis andry.aime
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function desactiver(){ var a = document.getElementByName("paie").selectedIndex; If (a.value==3) document.getElementByName('montantssop').disabled==false; //!(a.options[a.selectedIndex].value==3); }
c'est bien ce que je pensais il te faut mettre des ID à tes contrôles
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 <tr> <td class="label">Type de paiement <span>*</span></td> <td> <select id="paie" name="paie" onchange="desactiver()"> <option value="0">paiement</option> <option value="1">chèque</option> <option value="2">carte bancaire</option> <option value="3">espèce</option> <option value="4">virement</option> <option value="5">prélèvement</option> <option value="6">Autre</option> </select> </td> </tr> <tr> <td class="lab">Montant de sous opération <span>*</span></td> <td><input type=text id="montantssop" name="montantssop" disabled="disabled"></td> <td>€</td> </tr>
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
je pense que l'erreurs n'est pas à ce niveau, j'ai tester avec id et name mais ça marche pas.
Je sais pas pourquoi et j'ai besoin de faire ce test sur mes intefaces
euh ! pardon regardé trop vite
c'est ce que t'as mis andry.aime
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function desactiver(){ var a = document.getElementById("paie"); document.getElementById("montantssop").disabled= !(a.options[a.selectedIndex].value==3); }
il est préférable de ne pas utiliser la méthode getElementsByName, avec un s
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
je n'utilise pas de s dans mon code !!!!
c'est en partie ton erreur, mais ATTENTION cette méthode retourne une collection donc il faut faire l'appel comme suit
de plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part var a = document.getElementsByName("paie")[0]; // recup l'objet SELECT
de plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (a.value==3) // i minuscule
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementByName('montantssop').disabled==false; // comparaison et non affectation
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
Merci pour tes réponse, mais je comprend pas pourquoi ça marche toujours pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function desactiver(){ var a = document.getElementsByName('paie')[0].value; if (a==0){ document.getElementsByName('montantssop').disabled=false; }}
Désolé si je vous embêtes, mais j'ai jamais utilisé javascript, c'est la première fois.
idem ici
devient
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementsByName('montantssop').disabled=false;
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementsByName('montantssop')[0].disabled=false;
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
rien n'a changer en rajoutant le 0, j fait un test simple si je change de valeur j'affiche un alert; mais l'alert ne s'affiche pas, je pense que le navigateur ne connait pas cette fonction "onchange"
Tu nous montres ton code javascript et html![]()
CODE JS:
HTML/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function desactiver(){ var a = document.getElementsByName('paie')[0].value; if (a==3){ document.getElementsByName('montantssop').disabled=false; }}
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 </form name="form"> <tr> <td class="label">Type de paiement <span>*</span></td> <td> <select id="paie" name="paie" onchange="desactiver()"> <option value="0">paiement</option> <option value="1">chèque</option> <option value="2">carte bancaire</option> <option value="3">espèce</option> <option value="4">virement</option> <option value="5">prélèvement</option> <option value="6">Autre</option> </select> </td> </tr> <tr> <td class="lab">Montant de sous opération <span>*</span></td> <td><input type=text id="montantssop" name="montantssop" disabled="disabled"></td> <td>€</td> </tr></form>
Bonjour,?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (a=="3"){ // une value est de type string document.getElementsByName('montantssop')[0].disabled=false;
EDIT : ceci dit, avecton formulaire n'est pas valide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part </form name="form">
De plus, l'imbriquer ainsi dans la structure d'une <table> t'expose également à des comportements aléatoires suivant les navigateurs.
Et je confirme aussi que les id sont toujours préférables pour faire référence aux objets de la page.
A+
Pour tout savoir sur l'utilisation du forum
En postant votre message, n'oubliez pas les Règles du Club.
En fait j'ai rajouter form à la fin car la structure de ma page est plus longue que ce que j'ai affiché et mon form est bien dans sa place, pas de problème à ce niveau.
cela veut dire qu'il y a une erreur ailleurs si ton alert ne s'affiche pas, quant à la méthode change elle est bien prise en compte par les navigateurs et ce depuis le début.
je remets la fonction
elle marche...même si l'attribut/propriété disabled est légèrement bizarre!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function desactiver(){ var a = document.getElementsByName('paie')[0].value; if( a == "3"){ document.getElementsByName('montantssop')[0].disabled = false; } }
les value des contrôles sont de type string, même si javascript autorise la comparaison entre 3 et "3", donc autant prendre de bonnes habitudes en comparant des mêmes types
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
En fait il y a pas d'erreurs sur le code , le problème c'est que j'ai deux fonction javascript: desactiver() et valider() si j’enlève valider, desactiver marche et quand j'ai les deux ça marche pas.
Je vous ai embêter pour rien. Merci beaucoup pour votre aide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager