par
AB » 12 juin 2009, 13:43
Pour exemple voici un code qui fonctionnera pour changer plusieurs images, ou changer la valeur de plusieurs boutons (pour tenir compte de la remarque de
momox).
Par rapport au code précédent on mémorise l'état de la "bascule" de chaque élément dans un tableau.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript">
function change_img(id,img1,img2)
{
this.bascule = (typeof this.bascule == 'undefined')? Array() : this.bascule;
this.bascule[id] = (typeof this.bascule[id] == 'number')? this.bascule[id] * (-1) : -1;
if(this.id = document.getElementById(id))
{
this.id.src = (this.bascule[id] == -1)? img2 : img1;
}
}
function Change_value(id,value1,value2)
{
this.change_value = (typeof this.change_value == 'undefined') ? Array() : this.change_value;
this.change_value[id] = (typeof this.change_value[id] == 'number')? this.change_value[id] * (-1) : -1;
if (this.id = document.getElementById(id))
{
this.id.value = (this.change_value[id] == -1)? value2 : value1;
}
}
</script>
</head>
<body>
<img id = "id_image1" onclick = "change_img(this.id,'source_image1.png','source_image2.png')" src="source_image1.png" alt = "Image bascule" title = "Image bascule" />
<img id = "id_image2" onclick = "change_img(this.id,'source_image3.png','source_image4.png')" src="source_image3.png" alt = "Image bascule" title = "Image bascule" />
<input type="button" id = "gras" value = "B" onclick = "Change_value(this.id,'B','B *')" style="width:25px; font-family:Arial, Helvetica, sans-serif; font-weight:bold;padding-left:5px;border:1px solid black" title = "Bouton bascule" />
<input type="button" id = "italique" value = "I" onclick = "Change_value(this.id,'I','I *')" style="width:25px; font-family:Arial, Helvetica, sans-serif; font-style:italic;padding-left:5px;border:1px solid black" title = "Bouton bascule" />
</body>
</html>
Cela dit c'est juste pour montrer le principe du on/off.
Les BBcode dans ce forum sur plus élaborés puisque les balises sont "surveillées" pour être cohérentes. Ainsi si l'on ouvre une balise "gras" puis une balise "italique", il suffit de refermer la balise "gras" pour refermer automatiquement la balise "italique".
Tu peux regarder le code source de la page d'envoi de message pour plus d'infos.
Pour exemple voici un code qui fonctionnera pour changer plusieurs images, ou changer la valeur de plusieurs boutons (pour tenir compte de la remarque de [b]momox[/b]).
Par rapport au code précédent on mémorise l'état de la "bascule" de chaque élément dans un tableau.
[php]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript">
function change_img(id,img1,img2)
{
this.bascule = (typeof this.bascule == 'undefined')? Array() : this.bascule;
this.bascule[id] = (typeof this.bascule[id] == 'number')? this.bascule[id] * (-1) : -1;
if(this.id = document.getElementById(id))
{
this.id.src = (this.bascule[id] == -1)? img2 : img1;
}
}
function Change_value(id,value1,value2)
{
this.change_value = (typeof this.change_value == 'undefined') ? Array() : this.change_value;
this.change_value[id] = (typeof this.change_value[id] == 'number')? this.change_value[id] * (-1) : -1;
if (this.id = document.getElementById(id))
{
this.id.value = (this.change_value[id] == -1)? value2 : value1;
}
}
</script>
</head>
<body>
<img id = "id_image1" onclick = "change_img(this.id,'source_image1.png','source_image2.png')" src="source_image1.png" alt = "Image bascule" title = "Image bascule" />
<img id = "id_image2" onclick = "change_img(this.id,'source_image3.png','source_image4.png')" src="source_image3.png" alt = "Image bascule" title = "Image bascule" />
<input type="button" id = "gras" value = "B" onclick = "Change_value(this.id,'B','B *')" style="width:25px; font-family:Arial, Helvetica, sans-serif; font-weight:bold;padding-left:5px;border:1px solid black" title = "Bouton bascule" />
<input type="button" id = "italique" value = "I" onclick = "Change_value(this.id,'I','I *')" style="width:25px; font-family:Arial, Helvetica, sans-serif; font-style:italic;padding-left:5px;border:1px solid black" title = "Bouton bascule" />
</body>
</html>[/php]
Cela dit c'est juste pour montrer le principe du on/off.
Les BBcode dans ce forum sur plus élaborés puisque les balises sont "surveillées" pour être cohérentes. Ainsi si l'on ouvre une balise "gras" puis une balise "italique", il suffit de refermer la balise "gras" pour refermer automatiquement la balise "italique".
Tu peux regarder le code source de la page d'envoi de message pour plus d'infos.