2009-10-09 5 views

Répondre

3

Si c'est un <select> alors vous devriez utiliser:

var s = document.getElementById('fileName'); 
var x = s.options[s.selectedIndex].value; 
1

Vous devez spécifier un attribut value sur chaque <option>: http://jsbin.com/uluki (http://jsbin.com/uluki/edit modifier):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<title>Sandbox</title> 
</head> 
<body> 
    <select id="fileName"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
    </select> 

    <a href="#" onclick="alert(document.getElementById('fileName').value); return false">Show selected value</a> 
</body> 
</html> 

Tout ce que je fais est alert(document.getElementById('fileName').value). Fonctionne dans IE6, IE7, IE8, Opera 9, FF2, FF3 +, Chrome 2+ (et probablement tous les autres navigateurs). C'est de facto maintenant, encore tant que vous avez un value sur chaque <option>.

Si vous n'avez pas de value sur chaque option, la réponse de Greg est la bonne façon de procéder. Fonctionne à chaque fois.

Questions connexes