9

フォームの送信イベントと変更イベントが一緒に機能しないことについて質問があります。ドロップダウンリストの値を変更すると、イベントviewroom()が起動しません。誰かがこれで私を助けることができますか?コードは次のとおりです

<script type="text/javascript">
function viewroom()
{
    alert(123);
}
</script>

<form id="myform" name="myform" action="joinroom.php" method="post">
<select name="viewroom" id="viewroom" onChange="viewroom()">
    <option value="1">Room1 </option>
    <option value="2">Room2 </option>
</select>
<input type="submit" onclick="this.form.submit()" value="Join room"><br>
</form>
4

4 に答える 4

18

name関数名がと競合している場合idselect、関数に別の名前を付けてください。

于 2013-02-17T10:05:10.607 に答える
4

ページ上の要素と同じように関数に名前を付けることはできません。関数名をこのjsFiddleにviewroomSelected示すような名前に変更することをお勧めします。

関連する変更:

function viewroomSelected()
{
  alert(123);
}

<select name="viewroom" id="viewroom" onChange="viewroomSelected()">
于 2013-02-17T10:06:06.203 に答える
2

この競合の原因となる関数名を同じように設定nameして属性を設定し、エラーを表示するのは関数ではないため、関数の名前を変更してください。また、ドキュメントの下部でjsを定義します。idviewroom

function viewRoom()
{
    alert(123);
}

作業デモ

于 2013-02-17T10:12:27.747 に答える
0

変化する

<select name="viewroom" id="viewroom" onChange="viewroom()">

<select name="viewroom" id="viewroom" onChange="()=>viewroom()">
于 2020-06-12T15:31:38.010 に答える