fonction qui décoche des checkbox

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction qui décoche des checkbox

par béka » 20 juil. 2007, 17:16

en fait je mettais checked = false à une checkbox qui avait la'ttribut CHECKED dans la balise tant qu'une variable de session existait.
La solution étaiot donc non pas d epasser par le javascript pour desélectionner toutes les checkbox mais de détruire la variable de session pour ne plus qu'elles soient cochées.

avec ce bouton
<input type="button" onClick="AfficheReset(); document.location.href='search-engine.php?reset'" value="<? echo BUTTON_RESET; ?>">
ce qui provoque ca
if ( isset($_GET['reset']) ){
  unset($_SESSION['cat_crit']);
  $_SESSION['cat_crit'] = array();
  header ('Location: search-engine.php'); 
}
car j'avais ca
if ( in_array($id_cat.'/'.$id_criteria, $_SESSION['cat_crit']) ) {
      echo "<ul><input type='checkbox' id='crit[]' name='crit[]' value='$id_cat/$id_criteria' CHECKED>$name_criteria</input></ul>"; }
      else {
      echo "<ul><input type='checkbox' id='crit[]' name='crit[]' value='$id_cat/$id_criteria'>$name_criteria</input></ul>"; }

par Truc » 20 juil. 2007, 16:23

Résolu ?
Une solution à proposer ?

fonction qui décoche des checkbox

par béka » 20 juil. 2007, 14:40

Bonjour voilà une petite fonction qui devrait décocher des checkboxs

Code : Tout sélectionner

function AfficheReset() { var critInputs = document.criteria.elements; for ( var i = 0 ; i < critInputs.length ; i++ ) { myInput = critInputs[i]; if ( myInput.type == 'checkbox' && myInput.checked ) { //traiter seulement les checkbox cochées myInput.checked = false; } // window.document.criteria[i].checkbox[i].checked = false; } document.getElementById('ajax').innerHTML = ""; //vider le div de reponse avant de lancer la recherche }
et voici le code du formulaire :
<?echo "<form name='criteria' method='post' id='criteria'>"; 

echo "<table align='center' width='90%' bgcolor='#EEEEEE' style='border: 1px solid #808080;'>";
echo "<tr><td colspan='5'><strong>".CHOOSE_CRITERIA."</strong></td></tr><tr>";
foreach($cat_criteria as $cat){
  $name_cat = $cat->getAttribute('name');
  $id_cat = $cat->getAttribute('id');
  echo "<td valign='top' align='left'><br><strong>".$name_cat." : </strong><br><br>";
  foreach ($cat->childNodes as $criteria)
  {
    if ($criteria->nodeType != XML_ELEMENT_NODE) continue;
    if ($criteria->tagName == 'criteria')
    {
      $name_criteria = $criteria->getAttribute('name');
      $id_criteria = $criteria->getAttribute('id');  
      if ( in_array($id_cat.'/'.$id_criteria, $_SESSION['cat_crit']) ) {
      echo "<ul><input type='checkbox' id='crit[]' name='crit[]' value='$id_cat/$id_criteria' CHECKED>$name_criteria</input></ul>"; }
      else {
      echo "<ul><input type='checkbox' id='crit[]' name='crit[]' value='$id_cat/$id_criteria'>$name_criteria</input></ul>"; }
    }
  }
}
echo "</td></tr></table><br>";

?>
<div align="center"><div class="btns"><input type="button" onClick="AfficheResult();" value="<? echo BUTTON_SEARCH; ?>" />&nbsp;&nbsp;<input type="reset" onClick="AfficheReset();" value="<? echo BUTTON_RESET; ?>"></div></div>
</form>