Je me réponds à moi-même, mais sans solution qui fonctionne...
J'ai donc ceci:
<form method="post" name="scores">
<select name="choix" id="choix" onChange="change_couleur_fond()">
<option value="black">Noir</option>
<option value="white">Blanc</option>
</select>
</form>
<script type="text/javascript">
function change_couleur_fond() {
box = document.getElementById('choix') ;
destination = box.options[box.selectedIndex].value ;
if (destination) {
document.getElementById('case_lng').style.backgroundColor = destination ;
}
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>
pour modifier ces lignes:
<td class="news_textesmall case_titreblanc" id="case_lng">L. (m)</td>
<td class="news_textesmall case_titreblanc" id="case_lng">#L_R2_T_1</td>
Si je modifie value=black par value=1 je peux attribuer à la valeur 1 le texte black pour la couleur et indiquer quelque chose comme #L_R"value"_T_1 pour modifier la valeur de R.
Mais ceci doit s'appliquer à tous les case_lng de mon tableau.
Comment faire?
je pense à un for correspondant au nombre de cases.
Mais je ne sais écrire rien de tout cela.
De plus après, je voudrais reproduire ce qui se trouve ici (j'ai le code js et html mais je ne parviens pas à le décortiquer, étant en limite de compétences).
Merci de votre aide
ADB
Le 16/05/2010 16:12, ADB a écrit :
Bonjour
C'est super, ça marche et je progresse.
Toutefois, seule une case voit sa couleur modifiée. Pourquoi?
Par ailleurs, le changement de couleur n'est pas mon unique but, mais également le changement de la valeur du champ dans cette ligne (parmi d'autres):
<-- cette case change de couleur -->
<td class="news_textesmall case_titreblanc" id="case_lng">L. (m)</td>
<-- cette case ne change pas de couleur, et je voudrais que le #L_R2_T_1 puissse se transformer en L_Rn_T1 (n = de 1 à 18)
<td class="news_textesmall case_titreblanc" id="case_lng">#L_R2_T_1</td>
Pour mieux comprendre, voir page:http://www.francegolf.fr/SPIP/?page=article-golf&id_article=00913
Merci
ADB
Le 16/05/2010 14:02, Sylvain a écrit :
Bonjour,
Le 16/05/2010 04:17, ADB a écrit :
J'ai ce code:
<form method="post" name="scores">
<select name="choix" onChange=verif()>
<option value="black">Noir</option>
<option value="white">Blanc</option>
<option selected="selected" value="yellow">Jaune</option>
<option value="blue">Bleu</option>
<option value="red">Rouge</option>
</select>
<script type="text/javascript">
function verif() {
for(i=0;i<document.scores.choix.length;++i)
if(document.scores.choix.options[i].selected == true)
document.scores.choix.options[i].value;
}
</script>
</form>
Le résultat me donne un alert mais je n'en ai que faire puisque je veux récupérer le résultat pour cette ligne:
<td class="news_textesmall" style="background-color:#ENV{choix}" id="case_lng">L. (m)</td>
Je n'obtiens rien... sauf si je mets onchange= submit() à la place de onchange=verif()
Mais le submit me recharge toute la page, ce que je ne veux pas non plus.
J'ai essayé d'inclure le formulaire dans une div ajax, mais rien de changé....
Une idée ou un conseil. J'en perds mon latin (de cuisine)
Si j'ai bien compris, le principe est de changer la couleur de fond d'une case quand on sélectionne une couleur dans le formulaire :
<select name="choix" id="choix" onChange="change_couleur_fond()">
<script type="text/javascript">
function change_couleur_fond() {
box = document.getElementById('choix') ;
destination = box.options[box.selectedIndex].value ;
if (destination) {
document.getElementById('case_lng').style.backgroundColor = destination ;
}
}
</script>
<noscript><input type="submit" name="btnG" value="Changer couleur"></noscript>
avec un bouton dans un noscript pour ceux qui naviguent avec javascript désactivé puissent avoir accès à la fonctionnalité...
Sylvain
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net
Documentation de SPIP : http://www.spip.net/
Irc : de l'aide à toute heure : http://spip.net/irc
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net
Documentation de SPIP : http://www.spip.net/
Irc : de l'aide à toute heure : http://spip.net/irc