Ajax et les checkbox

Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   -  
_nicolas Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   -
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

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
La récup apparemment des données se fait très bien,
je montre comment est organisé mon html :
<td align="center" class="contenu_tab"><img src="images/ico/carre_jaune.png" width="5px" height="5px"></td>
<td align="center" class="contenu_tab"><img src="images/ico/carre_bleu.png" width="5px" height="5px"></td>
<td align="center" class="contenu_tab"><img src="images/ico/carrer_rose.png" width="5px" height="5px"></td>

Je dois avoir une vingtaine de ligne sur ma page...
je dois passer obligatoirement par de l'ajax pour faire un "tri" ?
merci de vos réponses
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Désolé, je ne comprends pas ta question... Tu veux faire quoi exactement ?
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
dans un tableau j'ai une colonne catégorie.
quand je clique dessus apparait un formulaire de trie.
ou l'utilisateur peut choisir de cocher les catégories qu'il souhaite voir dans son tableau...
et je voudrais que par exemple si il coche A et B que directement mon tableau change, en restant sur la même page en affichant ce que l'utilisateur à choisi
0
Yoda
 
si ta base de données n'est pas trop lourde, charge toutes les données, puis ensuite gère l'affichage des catégories par du javascript+css, ca évite d'envoyer plein de requêtes au serveur (categorie1.onclick = function() {categorie1.div.style.display = none;}) des trucs de ce style là
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Le problème c'est que ma base de données sera assez balaise par la suite...
0
_nicolas Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   8
 
Comment faites vous pour faire des cases à cocher ?
0