Bug ajax avec la valeur zero

Fermé
leto23 Messages postés 86 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 24 janvier 2010 - 21 août 2009 à 12:54
Bonjour,
J'ai fait un formulaire dans lequel j'utilise ajax pour pré-remplir automatiquement des champs selon les choix de l'user.
J'ai notamment deux INPUT de type "text" dans lesquels l'user rentre deux chiffres (qui sont ensuite traité sur une page php grâce a ajax, pour m'afficher directement sur la même page le résultat de traitement). Sauf que si on rentre la valeur zéro "0", rien ne se passe ! Si je rentre des valeurs positives ou négatives, le traitement se fait parfaitement, les valeurs des deux INPUT sont bien envoyé par ajax, mais si il y a un zéro plus rien ne se passe...

C'est une exception qui m'intrigue beaucoup...


Mes deux INPUT de saisie:
<tr><td>Anes:<input name="ane" type="text" onBlur="tps_estime(<?php echo $this->id_case; ?>);"></td>
<td>Chevaux:<input name="chevaux" type="text" onBlur="tps_estime(<?php echo $this->id_case; ?>);"></td></tr>


Le div qui contient le résultat du traitement des deux INPUT:
<tr>
<td colspan="2">Temps estimé : <div id="tps_estime"></div></td>
</tr>


Ma fonction ajax:
function tps_estime(id_case)
{
	var id_camp = id_case;
	var xhr_object = null; 
	
	if(window.XMLHttpRequest) // Firefox 
	xhr_object = new XMLHttpRequest(); 
	else if(window.ActiveXObject) // Internet Explorer 
	xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
	else 
	{ // XMLHttpRequest non supporté par le navigateur 
		alert("Votre navigateur ne supporte pas AJAX..."); 
		return; 
	}
	
	xhr_object.open('POST','ajax_2.php',true);
	
	xhr_object.onreadystatechange = function() 
	{
		if(xhr_object.readyState == 4) 
		eval(xhr_object.responseText); //eval() éxécute le code JAVASCRIPT tapé en 'echo' dans le fichier source php
	}

	xhr_object.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	var cite = document.forms['form1'].elements['cite'].value;
	var ane = document.forms['form1'].elements['ane'].value;
	var chevaux = document.forms['form1'].elements['chevaux'].value;

	var data = 'cite=' + cite + '&ane=' + ane + '&chevaux=' + chevaux + '&case=' + id_camp;
	xhr_object.send(data);
}


ajax_2.php:
if($_POST['ane'] == 0)
{
	$test = 'marche pour zero';
}
else
{
	$test = 'marche pas';
}

echo "res = '".$test."';";


Affichage "marche pas" tout le temps, même pour zéro

Merci de votre aide !