Bonjour,

J'aimerais savoir s'il est possible d'avoir une variable dynamique pour getElementById dans une fonction...il s'agit d'une fonction qui insère la date et le nom d'utilisateur dans un champ. Malgré tous mes tests, rien ne marche :

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
function inserDate(user,field)
{
	var tut = new Date();
	jour = tut.getDate();
	mois = tut.getMonth()+1;
	heure = tut.getHours();
	minute = tut.getMinutes();
	if(jour < '10'){jour = '0'+jour;}
	if(mois < '10'){mois = '0'+mois;}
	if(heure < '10'){heure = '0'+heure;}
	if(minute < '10'){minute = '0'+minute;}
	document.getElementById(+field+).value = 'Le '+jour+'.'+mois+'.'+tut.getFullYear()+' à '+heure+'h'+minute+' - Par : '+user+'\n\n\n'+document.getElementById(+field+).value;
 
 
	var elem = document.getElementById(+field+);
 
    if(elem != null) {
        if(elem.createTextRange) {
            var range = elem.createTextRange();
            range.move('character', 35);
            range.select();
        }
        else {
            if(elem.selectionStart) {
                elem.focus();
                elem.setSelectionRange(34, 34);
            }
            else
                elem.focus();
        }
    }
 
}
A noter que la fonction marche avec un seul argument (user) et document.getElementById('champ_non_dynamqieu').value

La variable "field" est le nom du champ à remplir. J'ai essayé document.getElementById(+field+).value et document.getElementById('+field+').value...au niveau du champ qui provoque l'action, j'ai tenté <input type="button" onClick="inserDate('toto', 'adresse3');"> ou encore <input type="button" onClick="inserDate('toto', adresse3);">...sans succès. Mon navigateur n'est pas très bavard, il me signale juste "objet attendu" à la ligne où le onClick se trouve.

Voilà, je serais très reconnaissante à quiconque pourrait me donner une piste pour résoudre ce problème... mes connaissances Javascript sont purement empiriques donc désolée si c'est une question très bête


Raphaëlla