bonjour,
j'ai une simple question
comment faire pour récupérer l'id d'un input quand ce dernier reçois le focus ?
merci :oops:
Version imprimable
bonjour,
j'ai une simple question
comment faire pour récupérer l'id d'un input quand ce dernier reçois le focus ?
merci :oops:
Code:<input type='text' onfocus="alert(this.id)" value="" id ="foo" />
merci pour la réponse mais ce n'est pas ce que je cherche
je veux utilisé le script autocompletion sur plusieurs input d'un même form
donc je veux mettre une variable dans l'appel initAutoComplete cette dernière change selon le input ou je suis (focus) ou bien faire un appel dynamique sans passer par document.getelementbyid
Code:window.onload = function(){initAutoComplete(document.getElementById('form-test'),document.getElementById('champ-texte'),document.getElementById('bouton-submit'))};
et voila le code complet
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Test d'autocompletion</title> <link rel="stylesheet" type="text/css" href="autocompletion.css" /> <script type="text/javascript" src="autocomplete-3-2.js"></script> <script type="text/javascript"> window.onload = function(){(document.getElementById('form-test'),document.getElementById('champ-texte'),document.getElementById('bouton-submit'))}; </script> </head> <body> <form name="form-test" id="form-test" action="javascript:alert('soumission de ' + document.getElementById('champ-texte').value)" style="margin-left: 50px; margin-top:20px"> <input type="text" name="champ-texte" id="champ-texte" size="20" autocomplete="off" /> <input type="text" name="champ-texte" id="champ-texte1" size="20" autocomplete="off" /> <input type="submit" id="bouton-submit"> </form> </body> </html>
je crois que mon idée n'est pas réalisable vu que le window.onload s'exécute seulement au chargement de la page :?
donc impossible de changer ces arguments après :calim2:
je reposerai dans ce cas une autre question comment faire fonctionner autocompletion(tuto developpez) dans plusieurs input ?
je n'ai pas compris ce que tu veux faire mais pour ce qui est de manipuler un input lorsqu'il a le focus tu peux faire dans ton on loadmême principe sur le onchange on focus onkeyup etc.Code:
1
2
3
4
5
6
7
8
9 window.onload = function(){ var autoComplete = function (evt) { //ici le corps de ta méthode d'auto complétion qui porte sur l'élément courant alert('input: '+this.id+' name: '+this.value+' name: '+this.value +' event: '+evt) } document.getElementById('champ-texte').onkeypress= autoComplete; document.getElementById('champ-texte1').onkeypress= autoComplete; }
this dans la méthode est l'objet sur le quel l'événement à lieu
A+JYT
Effectivement, pour renforcer ce que dit sekaijin, le onload du body est essentiellement utilisé pour initier la gestion des événements sur les éléments de la page, c'est donc bien à ce moment que tu dois définir tes autocomplete.
ma réponse est que ta fonction autoComplete peux être réécrite de sorte de n'avoir besoin d'aucun paramètre
il suffit pour cela qu'elle soit attaché au bon objet
Code:
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
34
35
36 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Test d'autocompletion</title> <link rel="stylesheet" type="text/css" href="autocompletion.css" /> <script type="text/javascript" src="autocomplete-3-2.js"></script> <script type="text/javascript"> window.onload = function(){ var maMethode = function () { //manipulation de l'input text qui a le focus alert (this.value); //manipulation du formulaire contenant l'input qui a le focus alert (this.form.name); //manipulation du bouton submit du formulaire de l'input qui a le focus alert(this.form. submitButton.value); } var textField = document.getElementById('champ-texte'); textField.form.submitButton = document.getElementById('bouton-submit'); textField.onChange = maMethode; var textField1 = document.getElementById('champ-texte1'); textField1.onChange = maMethode; }; </script> </head> <body> <form name="form-test" id="form-test" action="javascript:alert('soumission de ' + document.getElementById('champ-texte').value)" style="margin-left: 50px; margin-top:20px"> <input type="text" name="champ-texte" id="champ-texte" size="20" autocomplete="off" /> <input type="text" name="champ-texte" id="champ-texte1" size="20" autocomplete="off" /> <input type="submit" id="bouton-submit"> </form> </body> </html>
maMethode ne prend pas d'argument mais le onload l'attache aux inputs concernés
ainsi this dans la méthode est l'objet input lui-même pas besoin de faire de recherche par id ou quoi que ce soit
A+JYT
merci pour vos reponses
j'ai resolu le probleme en changeant l'appel de la fonction
je ne l'appel plus dans onload mais dans chaque onfocus d'un input
c pas très pratique mais ça marche