Salut à tous,
j'ai réaliser un composant dont j'avais besoin : Un time stepper. Il est possible à l'aide de 2 bouton d'augmenter ou de diminuer la valeur des heure/minutes/secondes.
Exemple :

http://www.lanforums.com/stepper/

Il suffit de cliquer sur le groupe de chiffre souhaiter pour avoir le focus dessus et donc pouvoir le modifier.

Histoire de faire quelque chose de propre je veux rajouter un 0 si ma valeur est inférieur à 10.
Rien de compliquer en soit sauf que je suis devant un bug que je ne comprend pas.
En incrément :
Je fait 01,02,03,04,05,06,08,01 <---- Et mon 09 ??
En décrément
je fait 11,10,09,59 <--- Gnéééé ?

J'ai pourtant fait un simple

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(mavaleur<10){mavaleur = '0'+mavaleur}
Le code complet du stepper (visible sur la page d'exemple également)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
HoroStepper = function()
	{
		this.maxHeure=23
		this.maxMinute=59
		this.maxSeconde=59
		this.focus='stepperSeconde',
 
		this.setFocus = function(id)
		{
			this.focus = id;
		}
 
		this.incrementer = function()
		{
			var temp = parseInt(document.getElementById(this.focus).value);
 
			if(this.focus =='stepperSeconde')
			{
				if(temp>=this.maxSeconde)
					temp = 0;
				else
					temp++;
			}
			else if(this.focus =='stepperMinute')
			{
				if(temp>=this.maxMinute)
					temp = 0;
				else
					temp++;
			}
			else
			{
				if(temp>=this.maxHeure)
					temp = 0;
				else
					temp++;
			}
			if(temp<10)
				temp = '0'+temp;
			this.display(temp);
		}
 
		this.decrementer = function()
		{
			var temp = parseInt(document.getElementById(this.focus).value);
 
			if(this.focus =='stepperSeconde')
			{
				if(temp<=0)
					temp = this.maxSeconde;
				else
					temp--;
			}
			else if(this.focus =='stepperMinute')
			{
				if(temp<=0)
					temp = temp = this.maxMinute;
				else
					temp--;
			}
			else
			{
				if(temp<=0)
					temp = temp = this.maxHeure;
				else
					temp--;
			}
			if(temp<10)
				temp = '0'+temp;
			this.display(temp)
		}
 
		this.display = function(temp)
		{
			document.getElementById(this.focus).value=temp;
		}
	}
Si quelqu'un à une idée , parce que la je deviens fou ^^