rendre actif /inactif des bouton

Eléphant du PHP | 406 Messages

27 juil. 2005, 11:02

salut,

Je dispose de tableaux sur ma page qui permette de transferer des elements d un tableau à un autre et ceci à l aide de bouton.
Quand un element est choisi dans un tableau un bouton radio l indique.
Comment pourrai je faire pour rendre inactif les bouton qui ne sont pas utilile quand un element dans un tableau est selectionner ?

J ai essayer de faire un truc comme cela mais sa ne donne rien
<td class="td1"><input type="radio" name="c" id="radioc<? echo  $i ; ?>" value="<? echo $list2['numserie'];?>" <? if($list2['numserie']==@$_SESSION['nums']){echo " CHECKED";echo "tab0tab2.disabled=\"disabled\" ";}?>></td> 

Merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 11:08

bizarre tu sembles écrire une instruction javascript au milieu de nulle part, elle ne sera jamais exécutée

pourquoi ne pas faire comme pour le CHECKED ? écrire DISABLED dans le champ concerné

Eléphant du PHP | 406 Messages

27 juil. 2005, 11:15

ouai c est vrai,
mais le champs concerné c est un bouton, et ce bouton dois etre inactif,si la case est cocher et la case se trouve dans un tableau et la je bloque pour savoir si la case est cocher .
Car si j ai cette info, je peux mettre directement cela dans le bouton et faire comme le checked

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 11:19

je me trompe ou c'est toi qui décide si la case est cochée, en affichant CHECKED suivant un test ?

donc si tu le sais, tu peux par la même occasion activer ou non le bouton

sinon tu diffères, tu coches tes cases comme tu le fais, et tu fais une fonction appelée au chargement qui grise tout ce qui tous les boutons correspondant aux checkbox cochées

j'espère que c'est juste un petit plus dans ton site et non pas le fondement de la sécurité, car si on désactive le Javascript on fait tout keskonveut sur ton site ;)

Eléphant du PHP | 406 Messages

27 juil. 2005, 11:23

ouai c est moi qui coche les bouton radio;
J ai pas trop capter le truc de la fonction?
moi je voudrais que quand un bouton radio est cocher dans un tableau alors les bouton qui ne lui sont pas utile soit inactif

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

27 juil. 2005, 11:25

Comment pourrais je faire pour rendre inactifs les boutons qui ne sont pas utilises quand un element dans un tableau est selectionné ?
Tu demandes quel test faire ou quoi écrir pour rendre inactif le bouton ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 11:27

J ai pas trop capter le truc de la fonction?
moi je voudrais que quand un bouton radio est cocher dans un tableau alors les bouton qui ne lui sont pas utile soit inactif
laisse tomber le coup de la fonction

à partir du moment ou tu à un test qui te permet de choisir si une case est cochée ou non, pourquoi ne pas utiliser ce même test pour désactiver les boutons liés ?

sachant que tu inseres un "CHECKED" pour cocher une case, et qu'il suffit d'insérer un "DISABLED" pour désactiver un bouton, où est le problème ?

Eléphant du PHP | 406 Messages

27 juil. 2005, 11:29

quoi ecrire c est disabled

moi je pensai faire un truc dans ce genre
<input   type="submit" name="bouton1" value="" <? if(MaCaseEstCocher){echo "disabled='disabled'";} ?>>
Et ce que je n arrive pas à avoir c est
MaCaseEstCocher,recuperer comme quoi la case est cocher

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

27 juil. 2005, 11:30

Et ce que je n arrive pas à avoir c est
MaCaseEstCocher,recuperer comme quoi la case est cocher
Alors c'est du javascript mon ami :)
Je déplace ton post ....

Et d'ailleurs, :shock: j'ai le même problème :) sauf que je cherche mieux que toi :)
http://www.toutjavascript.com/savoir/savoir06_2.php3

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 11:33

Et ce que je n arrive pas à avoir c est
MaCaseEstCocher,recuperer comme quoi la case est cocher
puisque c'est toi qui les coches, suivant un test, tu le sais qu'elles sont cochées !!

tu fais

Code : Tout sélectionner

<input type="radio" <?php if ($test == "ok") echo "CHECKED"; ?>>
donc il suffit de répéter le test dans le bouton correspondant :

Code : Tout sélectionner

<input type="submit" <?php if ($test == "ok") echo "DISABLED"; ?>>
ou alors y'a un truc que j'ai pas capté :roll:

Eléphant du PHP | 406 Messages

27 juil. 2005, 11:47

j ai fait un test avec la fonction disponible sur ta page mais il ne se passe rien

donc j ai mis cette fontion

Code : Tout sélectionner

function testerRadio(radio) { for (var i=0; i<radio.length;i++) { if (radio[i].checked) { alert("Système = "+radio[i].value) } } }
Je l ai appeler dans

Code : Tout sélectionner

<body onload="Chargement();testerRadio(a);">
et voila le code de mon tableau
while($list=pg_fetch_array($result)){
?>
<tr class="white" onClick="blok(this, 'radio<? echo  $i ; ?>')"><td class="td1"><input type="radio" name="a" id="radio<? echo  $i ; ?>" value="<? echo $list['numserie'];?>" <? if($list['numserie']==@$_SESSION['nums']){echo " CHECKED";}?>></td>
    <td class="td1"><? echo $list['etat']; ?></td>
    <td class="td1"><? echo $list['type_objet']; ?></td>
    <td class="td1"><? echo $list['numserie']; ?></td>
    <td class="td1"><? echo $list['marque']; ?></td>
    <td class="td1"><? echo $list['modele']; ?></td>
</tr> 
<?
$i=$i+1;
donc en theorie vu qu a chaque fois que je clique sur une case sa recharge ma page, je devrais avoir une alert avec la value de la case a cocher mais je n ai rien ?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 11:49

ça revient à ça ce que tu veux faire sinon : http://www.phpfrance.com/forums/voir_sujet-6429.php

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

27 juil. 2005, 11:50

Et ça donne quoi comme code HTML ? Parce que le PHP qui le produit, à la rigueur, on s'en fiche...
Conseils :
- met un else à ton if, avec un alert('pas de radio checked') tu sauras où passe le programme
- désigne mieux tes champs de formulaire que ça (voir le lien que je t'a fourni plus haut)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 406 Messages

27 juil. 2005, 13:23

en mettant un else
sa donne toujours
donc je suis aller sur l autre lien
http://www.phpfrance.com/forums/voir_sujet-6429.php
et j ai pris cette fonction

Code : Tout sélectionner

function activer(champ,checkbox) { if (document.getElementById(checkbox).checked == true) document.champ.disabled = true; else document.champ.disabled = false; }
je l appel la

Code : Tout sélectionner

<input class="bt1" type="submit" name="tab2tab1" value="" onload=" activer(tab2tab1,c)">
j ai aussi essayer ici

Code : Tout sélectionner

<body onload="Chargement();activer(tab2tab1,c);">
et ma case à cocher c se trouve ici

Code : Tout sélectionner

while($list2=@pg_fetch_array($resu2)){ ?> <tr class="white" onClick="blok(this, 'radioc<? echo $i ; ?>')"><td class="td1"><input type="radio" name="c" id="radioc<? echo $i ; ?>" value="<? echo $list2['numserie'];?>" <? if($list2['numserie']==@$_SESSION['nums']){echo " CHECKED";}?>></td> <td class="td1"><? echo $list2['type_objet']; ?></td> <td class="td1"><? echo $list2['numserie']; ?></td> <td class="td1"><? echo $list2['marque']; ?></td> <td class="td1"><? echo $list2['modele']; ?></td> <td class="td1"><? echo $list2['etat']; ?></td> </tr> <? $i=$i+1; } ?>
mais il ne se passe rien
Dans la fonction
champs correspond au nom du bouton
et checkbox au nom du bouton radio
c est bien cela

Eléphant du PHP | 377 Messages

01 août 2005, 16:49

je passe mettre mon grain de sel ^^
pourquoi tu ne fais pas le test directement au moment du click au lieu de devoir recharger ta page?
genre :
<input type="radio" onClick="if(this.checked) {bouton1.disabled=true; bouton2.disabled=true;} else {bouton1.disabled=false; bouton2.disabled=false;}">
Petit scarabée deviendra grand