2010-06-19 9 views
4

J'écris du javascript en ligne. ça ne marche pas et je ne sais pas pourquoi.javascript onclick = "location.replace ('url')" ne fonctionne pas

en haut de la page d'index

<meta http-equiv="Content-Script-Type" content="text/javascript" />

plus tard j'ai:

<select name='id'> 
<option value=-1>New Entry</option> 
<option value='1' onclick="location.replace('index.php?page=update&id=1')">2010-06-12 16:38:08</option> 
<option value='2' onclick="location.replace('index.php?page=update&id=2')">2010-06-12 18:20:49</option> 
<option value='3' onclick="location.replace('index.php?page=update&id=3')">2010-06-13 11:39:09</option> 
</select> 

ce que je veux est pour la page à remplacer lorsque l'un des éléments d'option est sélectionnée mais le code ne provoque pas une actualisation de la page et je ne sais pas pourquoi. Quelque chose ne va pas avec le javascript?

+0

Cela semble fonctionner pour moi dans Firefox. Je présume que vous testez dans IE? Je ne suis pas sûr que supporte option.onclick basé sur ici http://bytes.com/topic/javascript/answers/151747-option-onclick-does-not-fire-ie –

+0

utilisait le chrome. cela fonctionne dans firefox ... n'a pas réalisé. Merci pour le conseil. – moonlightcheese

Répondre

4

Utilisez l'événement onchange de l'élément select:

<select name="id" onchange="window.location.replace('index.php?page=update&id='+this.options[this.selectedIndex].value);"> 
<option value="-1">New Entry</option> 
<option value="1">2010-06-12 16:38:08</option> 
<option value="2">2010-06-12 18:20:49</option> 
<option value="3">2010-06-13 11:39:09</option> 
</select> 

Note: La méthode location.replace est utilisée lorsque vous souhaitez accéder à la page et remplacer également la page en cours dans l'historique de navigation. Si vous voulez simplement naviguer vers la page normalement, vous affectez l'URL à la propriété window.location.href à la place.

+1

this.value fonctionne également. – tcooc

+0

grâce à vous deux. – moonlightcheese

+0

@digitalFresh: La propriété 'value' ne fonctionne pas dans les anciens navigateurs. Je n'ai pas vérifié récemment l'ancienneté du navigateur pour ne pas le supporter, mais lire la valeur de la collection d'options fonctionne toujours. – Guffa

2

J'ai trouvé que window.location.href ne fonctionne pas du tout dans les nouveaux navigateurs (FF4, Chrome 10, etc.).

Questions connexes