1

好的,所以当我遇到困难时,我正在尝试使用几个不同的网站学习一些基本的 javascript 和 html。我试过在这个论坛上寻找像我这样的另一个问题,但是所有的编码都在我的脑海里,我什么都不懂。我试图让用户从下拉菜单中选择一个名称,然后将该名称与一条短消息一起打印在警报中。这就是我到目前为止所拥有的。

HTML

<select name="name">
<option value="Matthew">Matthew</option>
<option value="John">John</option>
<option value="Jared">Jared</option>
</select>
<input type="button" value="Submit" onclick="Message()" />

Javascript

function Message()
{
    var name = document.getElementsByName(name).value;  
    alert("Hi " + name)
}

我知道这可能真的很简单,但如果您解释我做错了什么并提供代码的固定版本,我将不胜感激。

在此先感谢,马修

4

3 回答 3

1

代替

.getElementsByName(name).value;

.getElementsByName('name')[0].value;
-------------------^----^-----

你失踪了'

于 2013-09-05T11:02:47.960 回答
0

你可以这样使用它

<select id="name">
<option value="Matthew">Matthew</option>
<option value="John">John</option>
<option value="Jared">Jared</option>
</select>
<input type="button" value="Submit" onclick="Message()" />

和你的 javascript

function Message()
{
var name = document.getElementById('name').value;  
alert("Hi " + name)
}

它会正常工作。

于 2013-09-05T11:19:04.320 回答
0

你不应该"name" 简单地写name

它应该是一个字符串 not variable

将其更改为

 var name = document.getElementsByName("name")[0].value;  

并且不要使用保留关键字,它们有时会造成混乱。

示例:<select name="userName">不简单<select name="name">

于 2013-09-05T11:03:02.160 回答