Bonsoir a tous,
Je suis en train de tester un petit script.
J'ai une liste de checkbox et en fin de liste un bouton pour tous les selectionner.
En fin de script j'ai des liens qui lance une action onclick qui devrait au travers d'ajax envoyer les valeurs selectionnées.
Mes questions :
Je souhaiterai que l'envoi des valeurs s'effectue soit en cochant a la volée des checkbox, soit en cliquant sur tous, et evidemment que l'envoi traite les valeurs.
Or j'ai beau tenter de comprendre, je n'arrive pas a envoyer les données autrement qu'en passant par un bouton submit, alors que moi j'ai juste deux liens avec une action onclick
Merci pour toute votre aide :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <script type="application/javascript"> function checkAllBox(ref, name) { var form = ref; while (form.parentNode && form.nodeName.toLowerCase() != 'form') { form = form.parentNode; } var elements = form.getElementsByTagName('input'); for (var i = 0; i < elements.length; i++) { if (elements[i].type == 'checkbox' && elements[i].name == name) { elements[i].checked = ref.checked; } } } </script>
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <input type="checkbox" name="choix[]" id="choix[]" value="A"> <input type="checkbox" name="choix[]" id="choix[]" value="B"> <input type="checkbox" name="choix[]" id="choix[]" value="C"> <input type="checkbox" name="choix[]" id="choix[]" value="D"> <input type="checkbox" onclick="checkAllBox(this, 'choix[]');" /> <b>Tout Séléctionner</b> <a href="javascript:;" onclick="sendcheck('toto')">toto</a> <a href="javascript:;" onclick="sendcheck('tata')">toto</a>
C'est au niveau de la fonciton sendcheck que ça bloque chez moi :
La fonction de base je l'ai mais je ne vois pas comment je peux placer dans les variables les valeurs des checkbox selectionnées :
Je precise que dans ma fonction ajax, j'ai utilisé a la fois POST et GET car je n'arrive pas a faire fonctionner le script sans les deux réunis (bizarrerie je sais)
Merci pour toute votre aide et bonne soirée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function sendcheck(idA) { // je sais gérer une checkbox : if(document.getElementById(idB).checked == true){idB = '1';}else{idB = '0';} mais je ne vois pas comment je peux le faire avec le multicheckbox var xhr_object = null; if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else {alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");return;} xhr_object.open("POST", "validerlechoix.php?personne="+idA+"&liste="+idB, true); xhr_object.onreadystatechange = function() {if(xhr_object.readyState == 4) {}} xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); var data = "personne="+idA+"&liste="+idB; xhr_object.send(data); }
Partager