0

私はチュートリアルに従っています。このバージョンのフォームは機能し、onchangeを使用します。ただし、onsubmitを使用しようとする以下の2番目のバージョンは機能しません。誰か助けてもらえますか?

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

もう1つは:

<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 に答える