Bonjour,

J'avais un formulaire qui été qui été traité par 3 script en JS
1_ Champs correctement remplie
2_ Nb de lignes
3_ Nb de caractères

Ce formulaire été appelé et validé conventionnellement (php)

Afin d'éviter de lourd chargement de page l'appel et la validation se font par des fonctions ajax (XMLHttpRequest)

Depuis le script 3 qui compte et affiche les caractères restant ne fonctionne plus!!
J'ai cherché je n'arrive pas à trouver.

Merci pour votre aide

Code script 3
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
 
function LimiterTextArea(nom_controletexte, nb_car, nom_controledecompte)
{
	var moncontroletexte = document.getElementById(nom_controletexte);
	var moncontroledecompte = document.getElementById(nom_controledecompte);
	if (moncontroletexte && moncontroledecompte)
	{
		moncontroletexte.onclick = function(){TextAreaEstRempli(moncontroletexte, nb_car, moncontroledecompte)}; 
		moncontroletexte.onblur = function(){TextAreaEstRempli(moncontroletexte, nb_car, moncontroledecompte)}; 
		moncontroletexte.onkeyup = function(){TextAreaEstRempli(moncontroletexte, nb_car, moncontroledecompte)}; 
		moncontroletexte.onkeypress = function(){TextAreaEstRempli(moncontroletexte, nb_car, moncontroledecompte)};
		// *** Affichage du nombre de caractères restant 
		if(moncontroledecompte.type)
			moncontroledecompte.value = nb_carRestant(moncontroletexte, nb_car);			// Pour un input de formulaire		
		else
			moncontroledecompte.innerHTML = nb_carRestant(moncontroletexte, nb_car);	// Pour un élément HTML	
	}
}
// TextAreaEstRempli
// args : textarea moncontroletexte, int nb_car, element_HTML moncontroledecompte 
// return : bool 
// Renvoie vrai si le nombre de caractères maximum du textarea n'est pas atteint
function TextAreaEstRempli(moncontroletexte, nb_car, moncontroledecompte) 
{ 
	if (moncontroletexte) 
	{ 
		if (moncontroletexte.value.length <= nb_car)
		{
			//alert("pas rempli");
			// mes actions ... 
			// *** Affichage du nombre de caractères restant
			if(moncontroledecompte.type)
				moncontroledecompte.value = nb_carRestant(moncontroletexte, nb_car);
			else
				moncontroledecompte.innerHTML = nb_carRestant(moncontroletexte, nb_car);
			return true; 
		} 
		else 
		{ 
			//alert("rempli"); 
			// mes actions ... 
			// Affichage du nombre de caractères restant 
			moncontroletexte.value = moncontroletexte.value.substr(0, nb_car); 
			// *** Affichage du nombre de caractères restant
			if(moncontroledecompte.type)
				moncontroledecompte.value = nb_carRestant(moncontroletexte, nb_car);
			else
				moncontroledecompte.innerHTML = nb_carRestant(moncontroletexte, nb_car);
 
			return false; 
		} 
	} 
}
// nb_carRestant 
// args : textarea moncontroletexte, int nb_car 
// return : int 
// Renvoie le nombre de caractère à saisir 
function nb_carRestant(moncontroletexte, nb_car) 
{ 
	if (moncontroletexte.value.length)
		return new Number(nb_car - moncontroletexte.value.length); 
	else
		return new Number(nb_car);
}
formulaire (commt_photo_classe_ajax.php)

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
 
 
//----------------------------------Formulaire-----------
$div_Code= "div_".$code_photo;
$aff_page_html.='<div id="'.$div_Code.'"></div>';
 
       if ($_SESSION['S_auto_com']!=0)
       {
            if ($_SESSION['S_prof_ou']!="VV")
            {
                      if ($_SESSION[$code_photo]!=$code_photo)
                      {
                     $aff_page_html.='
                      <form method="post" onsubmit="maFonctionAjax(this.Nom.value,this.Commentaire.value,this.Code.value);return false" action="">
                          <input name="Code" id="Code" type="hidden" value="'. $code_photo.'" >
                          <input name="Nom" id="Nom" type="hidden" value="formulaire" >
 
                          <table border="0" cellspacing="0">
                              <tr>
                              <td> </td>
                              <td><b>Il reste  <input type="text"  size=5 id="controle_decompte"/></b>
                              <a href="javascript:void(0);" class="info_bulle_centre" ><img border="0" src="../img_site/savoir.jpg"  alt="" width="17"  height="17" /><span>
                              '.$info_com_photo.' </span></a> &nbsp; &nbsp;   &nbsp; &nbsp; Ajoutez un commentaire
                              </td>
                            </tr>
                              <tr>
                              <td></td>
                              <td><textarea onKeyDown="return(lilliput( event, this, 5))"   id="Commentaire" name="Commentaire" rows="7" cols="75"></textarea></td>
                            </tr>
                               <script language="Javascript" type="text/javascript">LimiterTextArea(\'Commentaire\', 2, \'controle_decompte\');</script>
                            <tr>
                              <td colspan="2"><input type="submit" value="envoyer"  /></td>
                            </tr>
                          </table>
                      </form>';
                      ;}else {$aff_page_html.='<div class="reussi">Vous avez déjà mis une commentaire à cette photo.</div>';}
                       //----------------------------------------------------------------------------
 
            }else {$aff_page_html.='<div class="reussi">'.$invite_com.'</div>';}
        }else {$aff_page_html.='<div class="erreur">'.$interdit_com.'</div>';}
Code appel page ajaxCode
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
 
function com_photo(js_code , page)
{
obj = document.getElementById(js_code, page);
document.getElementById(js_code).style.display = "block";
// ON EFFACE LE CONTENU DU DUV
obj.innerHTML = "";
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
 
// CONTROLE DE LETAT DE LA REQUETE
// CHAQUE CHANGEMENT DETAT AFFICHE UNE LIGNE DANS NOTRE DIV
xhr_object.onreadystatechange = function()
{
 
if(xhr_object.readyState == 4)
{
     // ON CONTROLE LE STATUS (ERREUR 404, ETC)
if(xhr_object.status == 200) 
obj.innerHTML +=  xhr_object.responseText;
else 
obj.innerHTML +="Error code " + xhr_object.status;
}
};
//alert(page);
 
// ON APPELLE LA PAGE
xhr_object.open("GET", "commt_photo_classe_ajax.php?saut="+js_code+"&start="+page, true);
xhr_object.send(null);
}