Bonjour à tous !

Je dois actuellement modifier une application faite via Symfony. N'ayant jamais vraiment chipoté avec ce framework, je galère un peu.

Pour le moment, j'ai un simple formulaire avec des champs (InputText). J'aimerais cependant rajouter un petit script Javascript qui va compter le nombre de caractères dans le champ.

J'ai déjà fait mon petit script de vérification : (je vous mets toute la page

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 
<head> 
<script language="Javascript" type="text/javascript"> 
 
// Affecte à certains évènements d'un textarea, le contrôle de la longueur de son contenu
// nom_textarea = id du textArea ; nbcar = nb car max ; nom_decompte = id de l'affichage du decompte
function LimiterTextArea(nom_textarea, nbcar, nom_decompte) 
{ 
	var montextarea = document.getElementById(nom_textarea);
	var mondecompte = document.getElementById(nom_decompte);
 
	if (montextarea && mondecompte)
	{
		var tmp = function() { 
				var cond1 = TextAreaEstRempli(montextarea, nbcar, mondecompte);
				var cond2 = caractere_valide(event);
				return (cond1 && cond2);
				};
 
		montextarea.onclick = tmp;
		montextarea.onblur = tmp;
		montextarea.onkeyup =  tmp;
		montextarea.onkeypress = tmp;
 
		// Affichage du nombre de caractères restant 
		if(mondecompte.type)
			mondecompte.value = NbCarRestant(montextarea, nbcar); // Pour un input de formulaire		
		else
			mondecompte.innerHTML = NbCarRestant(montextarea, nbcar); // Pour un élément HTML	
 
	}
}
 
// Renvoie vrai si le nombre de caractères maximum du textarea n'est pas atteint 
function TextAreaEstRempli(montextarea, nbcar, mondecompte) 
{ 
	if (montextarea) 
	{ 
		if (montextarea.value.length <= nbcar) 
		{ 
			//alert("pas rempli"); 
			// mes actions ... 
 
			// *** Affichage du nombre de caractères restant
			if(mondecompte.type)
				mondecompte.value = NbCarRestant(montextarea, nbcar);
			else
				mondecompte.innerHTML = NbCarRestant(montextarea, nbcar);
 
			return true; 
		} 
		else 
		{ 
			// On retire le caractere de trop
			montextarea.value = montextarea.value.substr(0, nbcar); 
 
			// Affichage du nombre de caractères restant
			if(mondecompte.type)
				mondecompte.value = NbCarRestant(montextarea, nbcar);
			else
				mondecompte.innerHTML = NbCarRestant(montextarea, nbcar);
 
			alert("Un message est limité à 160 caractères !");
 
			return false; 
		} 
	} 
} 
 
// Renvoie le nombre de caractère à saisir 
function NbCarRestant(montextarea, nbcar) 
{ 
	if (montextarea.value.length)
		return new Number(nbcar - montextarea.value.length); 
	else
		return new Number(nbcar);
} 
 
 
// verifie si le caractere tapé est autorisé
function caractere_valide(evt)
{
	//var keyCode = evt.which ? evt.which : evt.keyCode;
	var keyCode = evt.keyCode;
	var interdit = 'àâäãçéèêëìîïòôöõùûüµñ&#~^š%$£?²€§%*[]{}<>|\\/`\'';
	if (interdit.indexOf(String.fromCharCode(keyCode)) >= 0) {
		alert("Les caractères spéciaux ne sont pas autorisés");
		return false;
	}
}
 
</script> 
</head> 
<body> 
		<textarea id="commentaire" name="commentaire" class="limiter"></textarea> 
		<div id="controle_decompte" name="controle_decompte" class="decompte"></div>
		<script language="Javascript" type="text/javascript">  LimiterTextArea('commentaire', 160, 'controle_decompte');  </script> 
 
	</form> 
</body>
Comment pourrais-je intégrer ça ?

Merci d'avance !

P-Y