选择onChange在表单中不起作用

问题描述 投票:6回答:4

我有一个关于表单提交和onchange事件无法一起使用的问题。当我更改下拉列表上的值时,事件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>
javascript forms select option onchange
4个回答
16
投票

您的函数名称与nameidselect冲突,只需为函数指定另一个名称。


4
投票

您不能为函数命名与页面上的元素相同。我建议将函数名称更改为viewroomSelected之类,如图here in this jsFiddle所示。

相关更改:

function viewroomSelected()
{
  alert(123);
}

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

2
投票

我发现,当您将nameid属性设置为与函数名相同时,会导致此冲突,并提示错误viewroom不是函数,请更改函数名。还可以在文档底部定义您的js。

function viewRoom()
{
    alert(123);
}

Working Demo


0
投票

更改

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

to

<select name="viewroom" id="viewroom" onChange="()=>viewroom()">
© www.soinside.com 2019 - 2024. All rights reserved.