无法使用IE7中的document.getElementById()获取数据

时间:2009-10-09 12:44:35

标签: javascript

我正在尝试从Javascript中所选选项的select标签中检索值

这在Mozilla中运行良好,但在IE 7中运行不正常。 例如:

function uploadFiles()
{
    var x = document.getElementById('fileName').value;
    alert(x);
}

2 个答案:

答案 0 :(得分:3)

如果它是<select>那么您应该使用:

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

答案 1 :(得分:1)

您需要在每个value上指定<option>属性:http://jsbin.com/ulukihttp://jsbin.com/uluki/edit进行编辑):

<!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>

我所做的只是alert(document.getElementById('fileName').value)。适用于IE6,IE7,IE8,Opera 9,FF2,FF3 +,Chrome 2+(可能还有其他所有浏览器)。它现在是事实,只要你在每个value 上有一个<option>,就再次

如果你对每个选项都没有value,那么格雷格的回答是可行的方法。每次都有效。