aodot Posté 5 Décembre 2011 Posté 5 Décembre 2011 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
Ernestine Posté 5 Décembre 2011 Posté 5 Décembre 2011 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.
aodot Posté 12 Décembre 2011 Auteur Posté 12 Décembre 2011 Merci pour votre réponse, cela m'a aidé à corriger ce bug, et j'ai donc installé firebug. Merci.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant