选择onChange不在表单内工作

时间:2013-02-17 09:59:43

标签: javascript forms select option onchange

我有一个关于表单提交和问题的问题onchange事件不能一起工作。当我更改下拉列表中的值时,事件查看室()未触发。任何人都可以帮我这个吗?代码如下

<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 个答案:

答案 0 :(得分:15)

您的函数名称与name的{​​{1}}和id冲突,只需为该函数指定另一个名称。

答案 1 :(得分:4)

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

相关变化:

function viewroomSelected()
{
  alert(123);
}

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

答案 2 :(得分:2)

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

function viewRoom()
{
    alert(123);
}

Working Demo

答案 3 :(得分:0)

更改

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

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