OVH Cloud OVH Cloud

Comment clearer des checkbox selon le choix

3 réponses
Avatar
Carmiel
J'essaye de faire la chose suivante :
j'ai une sélection de checkbox qui indique des impacts, disons
imp1, imp2, imp3 et si je coche sansimp je veux clearer les
3 valeurs imp.

Je suis pommé avec les syntaxes de java (c'est pas mon truc pour
être honnète).
Est-ce que quelqu'un pourrait me dire quoi faire dans la fonction
java ?

Il faudrait à priori un truc comme cela

function impact(choix) {
if (choix.name == "CBX.sansimp" && choix.checked) {

là je voudrais décocher imp1, imp2, imp3 <<< mon probleme
} else {
là je voudrais décocher noimp <<< mon probleme
}
}

Merci pour l'aide

3 réponses

Avatar
ASM

j'ai une sélection de checkbox qui indique des impacts, disons
imp1, imp2, imp3 et si je coche sansimp je veux clearer les
3 valeurs imp.

Je suis pommé avec les syntaxes de java (c'est pas mon truc pour
être honnète).


1er point : on ne dit pas java mais javascript
(si on veut faire court on dit JS)
Le java n'est pas du javascript !

Il faudrait à priori un truc comme cela

function impact(choix) {
if (choix.name == "CBX.sansimp" && choix.checked) {


Pas très sûr qu'on ait le droit de
mettre un point dans le nom d'un élément ? ("CBX.sansimp")

là je voudrais décocher imp1, imp2, imp3 <<< mon probleme


// si les imp sont dans le même formulaire que choix
imp1.checked=imp2.checked=imp3.checkedúlse;

// mieux vaut faire référence au formulaire
// (nommé par exemple : "jeu")

with(document.forms['jeu']) {
imp1.checkedúlse;
imp2.checkedúlse;
imp3.checkedúlse;
}

} else {
là je voudrais décocher noimp <<< mon probleme


document.forms['jeu'].elements['noimp'].checked = false;

}
}

Merci pour l'aide


--
*******************************************************
Stéphane MORIAUX et son vieux Mac
Aide Pages Perso (images & couleurs, formulaire, CHP)
http://perso.wanadoo.fr/stephane.moriaux/internet/
*******************************************************

Avatar
Carmiel
Merci pour ta réponse. vu pour javascript. J'ai fait cela mais
ça ne marche pas. Je passe bien dans le bon choix mais les coches
ne s'inversent pas. Je ne vois pas où est mon erreur

function noImpact(choix) {
if (choix.checked) {
alertmsg (10000,"CHOIX", choix.checked); //test de valeur
with(document.forms['frm2015']) {
z_imp_maia.checked = false ;
z_imp_psc.checked = false;
z_imp_siege.checked = false;
z_imp_client.checked = false;
z_imp_tiers.checked = false;
z_imp_crcm.checked = false;
z_imp_partenaire.checked = false;
z_imp_exploit.checked = false;
alertmsg (10000,"PSC", z_imp_psc.checked); //test de valeur
}
}
}
function Impact(choix) {
if (choix.checked) {
with(document.forms['frm2015']) {
alertmsg (10000,"SANS", z_imp_sans.checked); //test de valeur
z_imp_sans.checked = false ;
alertmsg (10000,"SANS", z_imp_sans.checked); //test de valeur
}
}
}
Avatar
ASM

J'ai fait cela mais
ça ne marche pas. Je passe bien dans le bon choix mais les coches
ne s'inversent pas.


Pour que les checkboxes s'inversent il faut qu'elles
aient été cochées (ou non suivant ce qui doit être fait)

ceci fonctionne (copier+coller dans un notepad et essayer):

<html>
<h2>Exemple simple</h2>
<p>Seule la case "Jouer" est active
<script type="text/javascript">
function validChoix(leChoix) {
with(document.jeu) {
if(leChoix.checked){
imp4.checked=true;
imp1.checked=imp2.checked=imp3.checkedúlse;
}
else {
imp4.checkedúlse;
imp1.checked=imp2.checked=imp3.checked=true;
}
}
}
</script>
<form name=jeu>
Jouer <input type=checkbox name="choix" onclick="validChoix(this);">
<p>imp1 <input type=checkbox name="imp1"
onclick="if(this.checked)choix.checked=true;">
<p>imp2 <input type=checkbox name="imp2"
onclick="if(this.checked)choix.checked=true;">
<p>imp3 <input type=checkbox name="imp3"
onclick="if(this.checked)choix.checked=true;">
<p>imp4 <input type=checkbox name="imp4"
onclick="if(this.checked)choix.checkedúlse;">
</form>
</html>

--------
variante
--------

<html>
<script type="text/javascript">
function validChoix(leChoix) {
var leForm = leChoix.form.name;
with(document.forms[leForm]) {
if(leChoix.checked){
nul.checkedúlse;
imp1.checked=imp2.checked=imp3.checked=true;
}
else {
nul.checked=true;
imp1.checked=imp2.checked=imp3.checkedúlse;
}
}
}
</script>
<h2>L'exemple simple</h2>
<form name=jeu1>
Jouer 1 <input type=checkbox name="choix" onclick="validChoix(this);">
<p>imp1 <input type=checkbox name="imp1">
<p>imp2 <input type=checkbox name="imp2">
<p>imp3 <input type=checkbox name="imp3">
<p>Annule 1 <input type=checkbox name="nul">
</form>
<hr>
<h2>Variante plus sioux</h2>
<script type="text/javascript">
function verif(leChoix) {
var leForm = leChoix.form.name;
with(document.forms[leForm]) {
if(imp1.checked || imp2.checked || imp3.checked){
nul.checkedúlse;
choix.checked=true;
}
else
if(!imp1.checked && !imp2.checked && !imp3.checked){
nul.checked=true;
choix.checkedúlse;
}
}
}
</script>
<form name=jeu2>
Jouer 2 <input type=checkbox name="choix" onclick="validChoix(this);">
<p>imp1 <input type=checkbox name="imp1" onclick="verif(this)">
<p>imp2 <input type=checkbox name="imp2" onclick="verif(this)">
<p>imp3 <input type=checkbox name="imp3" onclick="verif(this)">
<p>annule 2 <input type=checkbox name="nul" checked
onclick="if(this.checked)
choix.checked=imp1.checked=imp2.checked=imp3.checkedúlse;
else verif(this);">
</form>
</html>


Je ne vois pas où est mon erreur


ce serait + faciile avec un exemple complet
une url ?
ou on peut voir à voir ?

function noImpact(choix) {
if (choix.checked) {
alertmsg (10000,"CHOIX", choix.checked); //test de valeur
with(document.forms['frm2015']) {
z_imp_maia.checked = false ;
z_imp_psc.checked = false;
z_imp_siege.checked = false;
z_imp_client.checked = false;
z_imp_tiers.checked = false;
z_imp_crcm.checked = false;
z_imp_partenaire.checked = false;
z_imp_exploit.checked = false;


z_imp_sans.checked = true; // ? des fois que ?

alertmsg (10000,"PSC", z_imp_psc.checked); //test de valeur
}
}
}
function Impact(choix) {
if (choix.checked) {
with(document.forms['frm2015']) {
alertmsg (10000,"SANS", z_imp_sans.checked); //test de valeur
z_imp_sans.checked = false ;


si ici tu veux que toutes les checkboxes soient cochées
il faut le stipuler

alertmsg (10000,"SANS", z_imp_sans.checked); //test de valeur
}
}
}