Jump to content

Recommended Posts

Posted

Bonjour à tous,

Je souhaite récupérer l'état d'une checkbox et son id. Pour l'id cela est ok mais quand je rajoute l'état, cela me bloque le code ou en tout cas rien ne se passe.

Voici l'appelle de la fonction :

onclick="javascript:search_zone(<?PHP echo $data_secteur[id]; ?>)"

Où $data_secteur[id] est l'id dynamique de la checkbox.

Voici la fonction :

<script type="text/javascript">function search_zone($id)
{
var ajaxplug=null;

if (window.XMLHttpRequest) {
ajaxplug = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
ajaxplug = new ActiveXObject("Microsoft.XMLHTTP");
}

var etat = document.getElementById("sect_"+$id).checked);
ajaxplug.open("GET", "recherche_zone.php?id="+$id"&etat="+etat, true);
ajaxplug.send(null);


}</script>

Qui apelle le fichier recherche_zone.php dans lequel je récupére l'id et l'état. Cela fonctione pour l'id mais pas pour l'état.

Auriez vous une petite piste s'il vous plait ?

Merci par avance.

Aymeric

Posted

Salut,

Que veux-tu dire par "ça ne marche pas" ?

Tu utilises la bonne méthode pour récupérer l'état. Ensuite, quand la requête est envoyée au serveur, la variable etat peut prendre deux valeurs :

true

false

PHP va alors la traiter comme une simple chaîne de caractères. C'était à dire que :

if($_REQUEST['etat'])

Vaudra toujours "true" (même si la case n'était pas cochée), car php regarde simplement si la variable existe (même si sa valeur est false).

Alors que :

if($_REQUEST['etat'] == 'true')

Retourne true si la case a été cochée, false sinon. C'est donc plutôt cette méthode qu'il faut employer.

Pour tout ce qui est Ajax : il faut absolument utiliser un outil tel que Firebug (sur Firefox), DragonFly (sur Opera), ou l'outil de développement de Chrome, ça aide énormément.

Posted

Merci pour votre réponse, cela m'a aidé à corriger ce bug, et j'ai donc installé firebug.

Merci.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...