Vous avez plusieurs problèmes ici.
- un élément de liste HTML (
<li>
) n'a pas de valeur
- une liste HTML n'a aucun élément "élément sélectionné"
- vous ne pouvez pas obtenir "sélectionné" en appelant
getElementById()
Voici ma suggestion alternative:
<ul>
<li><a>Main Menu</a>
<ul class="leftbutton" >
<li><a href="List1.html" onclick="return changeList(this);">Sample 1</a></li>
<li><a href="List2.html" onclick="return changeList(this);">Sample 2</a></li>
<li><a href="List3.html" onclick="return changeList(this);">Sample 3</a></li>
<li><a href="List4.html" onclick="return changeList(this);">Sample 4</a></li>
<li><a href="List5.html" onclick="return changeList(this);">Sample 5</a></li>
</ul>
</li>
</ul>
<iframe id="iframeid" width="100%" height="100%" align="middle"></iframe>
<script type="text/javascript">
function changeList(a)
{
var iframe = document.getElementById("iframeid");
iframe.src = a.href;
return false;
}
</script>
Réflexions: Si JavaScript est désactivé, il fonctionne toujours (rudimentarily). La fonction renvoie false
, alors lorsque JavaScript est activé, un clic sur le lien annule la navigation href. Sachez que jusqu'à HTML 4.01 Transitional, il est également possible de le faire entièrement sans JavaScript. Un attribut target
avec le nom du cadre est suffisant:
<ul>
<li><a>Main Menu</a>
<ul class="leftbutton" >
<li><a href="List1.html" target="iframename">Sample 1</a></li>
<li><a href="List2.html" target="iframename">Sample 2</a></li>
<li><a href="List3.html" target="iframename">Sample 3</a></li>
<li><a href="List4.html" target="iframename">Sample 4</a></li>
<li><a href="List5.html" target="iframename">Sample 5</a></li>
</ul>
</li>
</ul>
<iframe id="iframeid" name="iframename" width="100%" height="100%" align="middle"></iframe>
Quel est le iframe pour? –
Avec le clic sur une liste, je veux charger une page html dans un iframe (au lieu d'ouvrir une nouvelle page html). – user32262