Comportement case a cocher checkBox comme bouton radio

Eléphanteau du PHP | 15 Messages

20 févr. 2009, 17:37

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 ?
Julien
------

ViPHP
ViPHP | 1136 Messages

20 févr. 2009, 18:01

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.

Eléphanteau du PHP | 15 Messages

20 févr. 2009, 18:30

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!!
Julien
------

ViPHP
ViPHP | 1136 Messages

20 févr. 2009, 18:50

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>