Forum de discussion
Forum « Programmation Javascript » (archives)
Re: problème de formulaire pour identifier le focus!!!
Envoyé: 5 janvier 2004, 8h21 par Oznog
Attention à ton sujet, plus significatif s.t.p.!
Malheureusement focus() est une méthode et non pas une propriété. Tu ne peux donc pas tester quelque chose comme :
// Retourne "undefined"
if (document.monForm.monTexte.focus()==true)
Tu tois donc le gérer toi même. Par exemple une variable globale qui contient le nom du champs qui a le focus.
var sMonfocus = '';
Et dans chacun des élément du formulaire;
onfocus="sMonfocus = 'monElementX';"
onblur="sMonfocus = '';"
Il suffit allors de tester la valeur de sMonfocus;
if (sMonfocus=='monElementX') {
// Focus sur monElementX...
}
Tu peux aussi ajouter un "listener" ou un attacher "Event" au formulaire. Mais c'est moins compatible, par exemple pas supporté par IE5/Mac.
<html>
<body>
<form name="monForm">
<input id="t1" type="text" name="textfield2">
<input id="t2" type="text" name="textfield3">
<input id="t3" type="text" name="textfield4">
</form>
<script type="text/javascript" language="javascript">
<!--
// Exemple direct
// Ça peut être automatisé d'avantage
var sMonFocus = "";
document.getElementById("t1").attachEvent("onfocus",function() { sMonFocus = "t1"; alert(sMonFocus); });
document.getElementById("t2").attachEvent("onfocus",function() { sMonFocus = "t2"; alert(sMonFocus); });
document.getElementById("t3").attachEvent("onfocus",function() { sMonFocus = "t3"; alert(sMonFocus); });
// -->
</script>
</body>
</html>
Ciao
Oznog
Réponses
|