OVH Cloud OVH Cloud

Cliquer dans checkbox pour barrer le texte associé ?

3 réponses
Avatar
Mermet David
Bonsoir,

Comment faire pour barrer et griser un texte lorsque l'on clique dans la
checkbox qui lui est associée ?
En fait, il s'agit de faire la même chose que dans les tâches Outlook

Apparemment, il faudrait utiliser la méthode strike() -pour barrer le texte-
et utiliser la propriété checked de checkbox...
Mais je ne m'y connais pas encore assez pour trouver la syntaxe exact comme
vous pouvez le constater avec le début du code ci-dessous

<html>
<head>
<script language="javascript">
function barretxt(){
if (document.form1.case1.checked)
{
???
}
}
</script>
</head>

<body>
<form name="form1">
<input type="checkbox" name="case1" onclick="javascript:barretxt();"
/><span id="texte1">Ceci est le texte à barrer </span>
</form>
</body>
</html>

Quelqu'un aurait une idée ?

Merci pour votre aide

David

3 réponses

Avatar
Thibault TAILLANDIER
Bonsoir,

Comment faire pour barrer et griser un texte lorsque l'on clique dans
la checkbox qui lui est associée ?


Mais je ne m'y connais pas encore assez pour trouver la syntaxe exact
comme vous pouvez le constater avec le début du code ci-dessous

<html>
<head>
<style>

.classe1 { text-decoration: none; color: #000000; }
.classe2 { text-decoration: line-through; color: #888888; }
</style>
<script language="javascript">
function barretxt(){

var obj = document.getElementById('texte1');
if (obj) {
if (document.form1.case1.checked) {
obj.className = 'classe2';
} else {
obj.className = 'classe1';
}
}
}

</script>
</head>

<body>
<form name="form1">
<input type="checkbox" name="case1" onclick="javascript:barretxt();" />


<span id="texte1">Ceci est le texte à barrer </span>
Met Plutot

<span id="texte1" class="classe1">Ceci est le texte à barrer </span>
Ca te permettra de changer la classe CSS facilement.

</form>
</body>
</html>


Merci pour votre aide
De rien.


Bye
--
Thibault

Avatar
YD

Comment faire pour barrer et griser un texte lorsque l'on clique dans la
checkbox qui lui est associée ?


Ma proposition :

<html><head>
<script type="text/javascript">
function barretxt(cb,s){
document.getElementById(s).style.textDecorationË.checked?"line-through":"";
document.getElementById(s).style.colorË.checked?"#AAAAAA":"";
}
</script></head>
<body>
<form name="form1">
<input type="checkbox" name="case1" onclick="barretxt(this,'texte1');"/>
<span id="texte1">Ceci est le texte à barrer et griser</span>
</form>
</body>
</html>

J'ai remplacé le if par la structure *condition?si_vrai:si_faux;*
plus adaptée dans ce cas, et ajouté deux paramètres à la fonction
qui en falicitent le réemploi sur plusieurs lignes en changeant dans
l'appel l'id du span.

L'utilisation de classe CSS proposée par Thibault est certainement une
meilleure solution pour changer le style. Dans ce cas, remplacer les
deux lignes du corps de la fonction par :

document.getElementById(s).classNameË.checked?"classe2":"classe1";


--
Y.D.

Avatar
Mermet David
J'ai remplacé le if par la structure *condition?si_vrai:si_faux;*
plus adaptée dans ce cas, et ajouté deux paramètres à la fonction
qui en falicitent le réemploi sur plusieurs lignes en changeant dans
l'appel l'id du span.

L'utilisation de classe CSS proposée par Thibault est certainement une
meilleure solution pour changer le style. Dans ce cas, remplacer les
deux lignes du corps de la fonction par :

document.getElementById(s).classNameË.checked?"classe2":"classe1";


--
Y.D.




Merci à vous 2, ça marche impeccable !