Bonjour,
J'ai un petit soucis lors de l'affichage d'un bloc. Je pense que c'est pas grand chose mais je suis bloqu�e...
J'ai 2 listes d�roulantes, 1 pour les couleurs, une pour les tailles. J'ai un tableau optionsArray qui est d�fini gr�ce � un autre script. Il fonctionne de cette mani�re la : dispo d'un produit = optionsArray[couleur][taille].
Je me sert donc des selectedIndex de mes listes comme index du tableau. Le probl�me est que je ne veux pas relaoder la page a chaque changement de valeur, j'ai donc fait comme ca (il y a du smarty au milieu) :
et la fonction toggle qui affiche le bloc td :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <select name="color" size="1"> {/literal} <OPTION {if $smarty.get.page eq "1"} selected {/if}VALUE="selectColor">Select Color {foreach from=$xcp_colorimages item=v} <option {if $v.alt eq $product_color and $smarty.get.page ne "1"} selected {/if} value="{$v.alt}">{$v.alt} {/foreach} </select> <select name="size" onchange="if(form.color.selectedIndex == 0) {alert('You must select a color')} else {if(form.size.selectedIndex != 0){toggle('availP'); }}" size="1"> {/literal} <OPTION {if $size eq ""} selected {/if}VALUE="selectSize">Select Size {foreach item=xv from=$xcp_grid_column} <option {if $xv eq $size} selected {/if} value="{$xv}">{$xv} {/foreach} </select> </td><td id="availP" style="display: none;"> <script type="text/javascript"> <!-- document.write(optionsArray[form.color.selectedIndex][form.size.selectedIndex]); --> </script> </td>
L'erreur est "form is not defined".
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 function toggle( targetId ){ if (document.getElementById){ target = document.getElementById( targetId ); if (target.style.display == "none"){ target.style.display = ""; } else { target.style.display = "none"; } } }
Si je met le document.write(optionsArray[form.color.selectedIndex][form.size.selectedIndex]);
dans le onchange, ca marche, sauf que ca m'ouvre une autre page avec le contenu.
J'ai �galement essay� document.write("lol"); et l� ca fonctionne, il affiche bien lol dans le bloc.
Je crois comprendre pourquoi ca ne marche pas. Lorsque je charge la page, mes form.color.selectedIndex et form.size.selectedIndex ne sont pas affect�s?
Mais je n'arrive pas a voir comment r�gler le probl�me...
Merci de votre aide.
Deb
Partager