从asp.net中的select标签中检索值,从控制器到视图

时间:2012-08-29 18:34:45

标签: c# javascript asp.net-mvc

我正在使用asp.net webapp,在视图中我有一个下拉列表,用户可以从中选择一个值。下拉列表工作正常 - 右侧文本显示在菜单中。但是,当我尝试使用一些基本的JS来捕获值时,我得到了 “Uncaught TypeError:对象#在Chrome控制台中没有方法'GetElementById'”。这是我的代码:

<select id="stop" onchange="sendInfo();">

@foreach(var blah in ViewBag.foobar)
{


<option value=@blah>@blah</option>

}
</select>

<script>
function sendInfo() {

    var stopId = document.GetElementById("stop").value;

}

</script>

任何帮助都会受到赞赏,我对MVC和asp.net很新。

谢谢,

阿曼达

3 个答案:

答案 0 :(得分:1)

JavaScript是一种区分大小写的语言,您正在寻找的方法是getElementById

所以你应该写:

var stopId = document.getElementById("stop").value;

答案 1 :(得分:1)

您不需要调用getElementById函数,您可以通过传递给每个事件处理程序的事件对象访问html元素:

<select id="stop" onchange="sendInfo(event);">

@foreach(var blah in ViewBag.foobar)
{
     <option value=@blah>@blah</option>
}
</select>

<script>
function sendInfo(event) {
        var stopId = event.target.value;
}

答案 2 :(得分:0)

getElementById...

区分大小写非常重要。