Fonction onchange sur select

Résolu/Fermé
mem1307 Messages postés 10 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 17 novembre 2019 - 4 oct. 2016 à 10:35
mem1307 Messages postés 10 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 17 novembre 2019 - 4 oct. 2016 à 13:14
Bonjour,

Ci-dessous un petit code tout simple, je souhaiterai que lorsqu'on "selected" l'option 2, ou 3, dans le champs <option>, l'image correspondante soit chargé par default. Hors là ça ne fonction que si je change d'option avec ma sourie. Mais si je choisi par default une autre option il me change pas l'image au chargement de la page.

<table summary="layout table">
<tbody>
<tr>
<td rowspan="1" colspan="1">
<form action="../action/return.html" method="post" id="menuForm" name="menuForm" enctype="application/x-www-form-urlencoded">
<select id="select1" onchange="changeTest()" name="select1">
<option value="0">Choose a color</option>
<option value="1">Red Star</option>
<option value="2" selected="selected">Yellow Star</option>
<option value="3">Pink Star</option>
</select>
</form>
</td>
<td rowspan="1" colspan="1">
<table border="1" summary="layout table">
<tbody>
<tr>
<td rowspan="1" colspan="1">
<img id="testStar" height="35" alt="red star" src="img/color.jpg" width="35" border="0" name="testStar"></img>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>

<script>
imageArray = new Array("img/red.jpg", "img/yellow.jpg", "img/pink.jpg", "../images/starPink.gif"); altArray = new Array("", "Red Star", "Yellow Star", "Pink Star"); function changeTest () { var Index = document.menuForm.select1.options[document.menuForm.select1.selectedIndex].value; document.testStar.src = imageArray[Index]; document.testStar.alt = altArray[Index]; }
</script>


J'ai cherché un peu partout, sur tous les forums :(
j'espère que je me suis bien expliqué :p
Merci de votre aide,
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 4/10/2016 à 12:33
Salut,

Une solution simple semble être d'appeler la fonction changeTest() dès le chargement de la page. Il suffit donc d'ajouter un appel à cette fonction après sa déclaration par exemple :
imageArray = new Array("img/red.jpg", "img/yellow.jpg", "img/pink.jpg", "../images/starPink.gif"); altArray = new Array("", "Red Star", "Yellow Star", "Pink Star");
function changeTest() { var Index = document.menuForm.select1.options[document.menuForm.select1.selectedIndex].value; document.testStar.src = imageArray[Index]; document.testStar.alt = altArray[Index]; }
// appel de la fonction au chargement de la page
changeTest();


Bonne journée,
1
mem1307 Messages postés 10 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 17 novembre 2019
4 oct. 2016 à 13:14
Merci beaucoup, :) très bonne journée également.
0