11540 sujets
Bonjour,
ce que tu appelles un menu déroulant, est-ce un
Si oui veux-tu que le focus passe à la zone de texte quand le select perd le focus ou dès le premier clic sur le select. Si c’est le deuxième cas comment on gère ceux qui n’ont pas de souris et naviguent au clavier.
ce que tu appelles un menu déroulant, est-ce un
<select …>
<option …/>
</select>
Si oui veux-tu que le focus passe à la zone de texte quand le select perd le focus ou dès le premier clic sur le select. Si c’est le deuxième cas comment on gère ceux qui n’ont pas de souris et naviguent au clavier.
Personnellement le chemin que j'entreprendrais serait de faire un if sur ton élément #decision, si le value est oui ou non au clic, je m'etterais ensuite le focus sur ton textarea par id.
J'espère m'avoir fait comprendre après cette phrase relativement vague. Personnellement, je le ferais en jquery parce que c'est le language que je maitrise le mieux mais ça ce fait facilement en autre chose.
J'espère m'avoir fait comprendre après cette phrase relativement vague. Personnellement, je le ferais en jquery parce que c'est le language que je maitrise le mieux mais ça ce fait facilement en autre chose.
Voici ce que te dit Flink.
Côté HTML cela donne ceci :
et enfin ton fichier focus.js :
Côté HTML cela donne ceci :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8"/>
<title>Titre</title>
</head>
<body>
<select name="decision" id="decision">
<option value="" selected>Choisissez votre réponse</option>
<option id="decisionOui" value="oui">oui</option>
<option id="decisionNon" value="non">non</option>
</select>
<textarea id="zoneDeTexte"></textarea>
<script type="text/javascript" src="focus.js"></script>
</body>
</html>
et enfin ton fichier focus.js :
function activer(obj) {
"use strict";
document.getElementById("zoneDeTexte").focus();
}
window.onload = function () {
"use strict";
// On ne fait pas de boucle pour définir des fonctions.
document.getElementById("decisionOui").onclick = function () {
activer(document.getElementById("zoneDeTexte"));
};
document.getElementById("decisionNon").onclick = function () {
activer(document.getElementById("zoneDeTexte"));
};
document.getElementById("decision").onblur = function () {
activer(document.getElementById("zoneDeTexte"));
};
};
Bonjour,
j’avais oublié qu’internet explorer était bogué sur l’événement onclick appliqué à une <option>
Ce code devrait marcher, du moins je l’espère :
Du javascript dans le head, c’est la meilleure façon d’avoir un site qui rame. Évite-le.
Modifié par adrien881 (09 Aug 2012 - 08:49)
j’avais oublié qu’internet explorer était bogué sur l’événement onclick appliqué à une <option>
Ce code devrait marcher, du moins je l’espère :
window.onload = function () {
"use strict";
document.getElementById("decision").onchange = function () {
document.getElementById("zoneDeTexte").focus();
};
};
Du javascript dans le head, c’est la meilleure façon d’avoir un site qui rame. Évite-le.
Modifié par adrien881 (09 Aug 2012 - 08:49)