Ajax et les checkbox [Fermé]

Signaler
Messages postés
1406
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
-
Messages postés
174
Date d'inscription
mercredi 29 janvier 2014
Statut
Membre
Dernière intervention
24 juin 2014
-
Bonjour,
J'ai un tableau qui se présente comme ceci :
exemple :
Titre : Catégorie :
bidule A
bidule2 B
bidule3 C
Et quand je clique sur catégorie un hover s'affiche avec la possibilité de choisir les catégories à afficher, donc si le type choisis A et C j'affiche seulement les catégories A et C...
Je penses qu'il faut utiliser de l'ajax...
j'ai essayé un code mais sans grand succès :
function maFonctionAjax(Id, Nom)
{
  var OAjax;
  if (window.XMLHttpRequest) OAjax = new XMLHttpRequest();
  else if (window.ActiveXObject) OAjax = new ActiveXObject('Microsoft.XMLHTTP');
  OAjax.open('POST',"affiche.php",true);
  OAjax.onreadystatechange = function()
  {
      if (OAjax.readyState == 4 && OAjax.status==200)
      {
          if (document.getElementById)
          {   
              if (OAjax.responseText =='true') { /* OK */
                    document.getElementById('msg').innerHTML='<font color=GREEN>'+OAjax.responseText+'</font>';
              }else{                             /* PAS OK */
                    document.getElementById('msg').innerHTML='<font color=RED>'+OAjax.responseText+'</font>';
              }
          }     
      }
  }
  OAjax.setRequestHeader('Content-type','application/x-www-form-urlencoded');
  OAjax.send('cat='+check1+'&cat2='+check2+'&cat3='+check3);                 
} 

et mon code html
<input type="checkbox" id="check1" name="check1"><div width="6px" style="display:inline;">&nbsp;</div><img src="images/ico/image.png"><div width="6px" style="display:inline;">&nbsp;</div>Exploitation
				<br /><input type="checkbox" id="check2"  name="check2"><div width="6px" style="display:inline;">&nbsp;</div><img src="images/ico/image2.png"><div width="6px" style="display:inline;">&nbsp;</div>Infrastructure
				<br /><input type="checkbox" id="check3" name="check3"><div width="6px" style="display:inline;">&nbsp;</div><img src="images/ico/image3.png"><div width="6px" style="display:inline;">&nbsp;</div>Bâtiment
				<br /><br />


et ma récupération :

if($_POST['check1'] == "")
{
	echo "vide";
}
else
{
	echo "pas vide";
}

ca serait également cool d'afficher les résultats sur la même page...
merci pour votre aide.

2 réponses

Messages postés
3599
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
16 avril 2020
952
Bonjour,

À première vue, le problème viendrait de cette ligne-là :
OAjax.send('cat='+check1+'&cat2='+check2+'&cat3='+check3);

check1, 2 et 3 ne sont pas utilisables directement en javascript.

Juste avant cette ligne, tu peux les remplir comme ceci :

var check1 = (document.getElementById("check1").checked) ? "1":"";
var check2 = (document.getElementById("check2").checked) ? "1":"";
var check3 = (document.getElementById("check3").checked) ? "1":"";

Xavier
Messages postés
1406
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
76
Le problème c'est que ma base de données sera assez balaise par la suite...
Messages postés
1406
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
18 mars 2013
76
Bon finalement je me suis tournée vers le jquery :
<script type="text/javascript">
$(document).ready(function () {
<!-- changement d'etat de ma checkbox -->
	$("#check1" ).change(function () {
<!-- verif checked de ma checkbox -->
if($('#check1').is(':checked'))
		{
		 alert('checkbox coché');
		}
                else
		{
		 alert('checkbox pas coché');
		}                 
	});
});
</script>

Donc quand je coche et décoche ma checkbox j'ai bien le message, mais maintenant comment faire pour afficher ou ne pas afficher l'élément qui la séléctionné ?
merci j'ai manger un fromage blanc la
Pas tres utile ton message ...
mdr , ton pseudo + mon pseudo ca fait 'dsk'
Messages postés
174
Date d'inscription
mercredi 29 janvier 2014
Statut
Membre
Dernière intervention
24 juin 2014
4
Comment faites vous pour faire des cases à cocher ?