Page 1 sur 1

Comportement case a cocher checkBox comme bouton radio

Posté : 20 févr. 2009, 17:37
par zazadec
Salut tous,
j'ai 2 checkBox dans une boucle while :

Code : Tout sélectionner

<input name="myEx_CheckId[]" type="checkbox" value=ValeurA" <?php echo $myExcluedChecked;?> onclick="javascript:InactiveCheckBox(In);" /> <input name="myIn_CheckId[]" type="checkbox" value="ValeurB" <?php echo $myIncluedChecked;?> onclick="javascript:InactiveCheckBox(Ex);" />
Je veux quelles ce comportent 2 à deux comme des boutons radio. C'est a dire que quand je coche la 'Ex', la 'In' se décoche et inversement. Pour ca j'ai cette fonction JS, dans mon <head>, mais rien ne se passe.

Code : Tout sélectionner

<script type="text/javascript"> <!--// function InactiveCheckBox($Quoi){ document.getElementById('my'.$Quoi.'_CheckId[]').Value = True ; } //--> </script>
Elle est ou mon erreur ?

Posté : 20 févr. 2009, 18:01
par stopher
Hi ,

Ton script comporte de nombreuses erreurs :

inspires toi de celui ci :

Code : Tout sélectionner

<input name="myEx_CheckId[]" type="checkbox" value="aaa" onclick="InactiveCheckBox('In');" id="Ex"/> <input name="myIn_CheckId[]" type="checkbox" value="bbb" onclick="InactiveCheckBox('Ex');" id="In"/> <script type="text/javascript"> <!--// function InactiveCheckBox(Quoi){ document.getElementById(Quoi).checked = false ; } //--> </script>
Erreurs recensées :

les variable php ne contiennent pas de $ , tu n'as pas défini les id de tes select , et la syntaxe d'appel de fonction javascript n'est pas valide ..

Et là tu allés changer la valeur et non , le check


Voilà , en espérant t'avoir aidé ..

cdt,

Ch.

Posté : 20 févr. 2009, 18:30
par zazadec
Ca marche, bcp mieux en effet. Merci pour les commentaires sur mes erreurs.

Pour mon cas, ce code etait dans un boucle While pour extraction de données de BDD ...
J'ai simplement rajoutés au ID et donc au param de l'appel de la fonction un identifiant propres au select de fait dans ma BDD.

Voici le code complet
<input
name="myEx_CheckId[]"
type="checkbox"
value="<?php echo $SQL['ID'];?>"
<?php echo $myExChecked;?>
onclick="InactiveCheckBox('In<?php echo $SQL['ID'];?>');"
id="Ex<?php echo $SQL['ID'];?>"
/>
<input
name="myIn_CheckId[]"
type="checkbox"
value="<?php echo $SQL['ID'];?>"
<?php echo $myIncluedChecked;?>
onclick="InactiveCheckBox('Ex<?php echo $SQL['ID'];?>');"
id="In<?php echo $SQL['ID'];?>"
/>
la fonction JS reste inchangée

Merci!!

Posté : 20 févr. 2009, 18:50
par stopher
C'est normal ,

il faut jouer sur les ID ...

comme ceci par exemple :
<?php
$i  =  1;
while( $i <= 10 ) {

     ?>
     <input name="myEx_CheckId[]" type="checkbox" value="aaa" Onclick="InactiveCheckBox('<?php echo $i.'-B';?>');" id="<?php echo $i.'-A';?>"/>
     <input name="myEx_CheckId[]" type="checkbox" value="bbb" Onclick="InactiveCheckBox('<?php echo $i.'-A';?>');" id="<?php echo $i.'-B';?>"/>
     <br>
     <?php 

    $i++;
}

?>
<script type="text/javascript">

function InactiveCheckBox(Quoi){
  document.getElementById(Quoi).checked = false ;
}

</script>