0

我正在关注一个教程,这个版本的表单有效,我使用 onchange。但是,下面我尝试使用 onsubmit 的第二个版本不起作用。有人可以帮忙吗?

<form>
<select name="users" onchange="showUser(users.value)">
    <option value="">Select a person:</option>
    <option value="1">Peter Griffin</option>
    <option value="2">Lois Griffin</option>
    <option value="3">Glenn Quagmire</option>
    <option value="4">Joseph Swanson</option>
</select>

这是一个不起作用的,我不知道为什么?

<form onsubmit="showUser(users.value)">
<select name="users">
    <option value="">Select a person:</option>
    <option value="1">Peter Griffin</option>
    <option value="2">Lois Griffin</option>
    <option value="3">Glenn Quagmire</option>
    <option value="4">Joseph Swanson</option>
</select>
<input type="submit" value="Submit"  >

4

1 回答 1

2

尝试这个:

<select name="users" onchange="showUser(this[this.selectedIndex].value);">
    <option value="">Select a person:</option>
    <option value="1">Peter Griffin</option>
    <option value="2">Lois Griffin</option>
    <option value="3">Glenn Quagmire</option>
    <option value="4">Joseph Swanson</option>
</select>

对于另一个:

<form onsubmit="showUser(this.users[this.users.selectedIndex].value); return false;">
<select name="users">
    <option value="">Select a person:</option>
    <option value="1">Peter Griffin</option>
    <option value="2">Lois Griffin</option>
    <option value="3">Glenn Quagmire</option>
    <option value="4">Joseph Swanson</option>
</select>
<input type="submit" value="Submit" />

使用return false;可防止浏览器将表单发布到 url 并因此重新加载页面。

于 2012-12-12T11:12:00.227 回答