选择onChange不在窗体内工作
select onChange not working inside a form
我有一个关于表单提交的问题&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>
您的函数名称与select
的name
和id
冲突,只需为函数指定另一个名称即可。
不能将函数命名为与页面上的元素相同的名称。我建议将函数名更改为类似viewroomSelected
的名称,如jsFiddle中所示。
相关变更:
function viewroomSelected()
{
alert(123);
}
<select name="viewroom" id="viewroom" onChange="viewroomSelected()">
我发现,当您将name
和id
属性设置为与导致此冲突的函数名称相同并提示错误viewroom
不是函数时,请更改函数名称。还可以在文档底部定义js。
function viewRoom()
{
alert(123);
}
工作演示
更改
<select name="viewroom" id="viewroom" onChange="viewroom()">
至
<select name="viewroom" id="viewroom" onChange="()=>viewroom()">
只是为了提供一些提示,而不是本例,可能有人添加了一个新的不同功能,杀死了旧功能。
<select ... onchange="anOldFuncion()">
在javascript中,你后来做到了:
selectX.onchange = function(){}; //bye bye function from the tag.
这个代码中的命名很糟糕。我会选择:
<select name="viewroom" id="viewroom" onChange="selectRoom()">
相关文章:
- 防止Iframe窗体在新窗口中打开
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- 正在尝试使用onclick事件提交父窗体,无法工作
- Asp.Net 将多个窗体添加到一个窗体时,用户控件无法正常工作
- ModalDialog窗体没有'我工作不好
- 如果css()==X,则else不工作,窗体不工作
- 弹出式窗体没有't工作
- 选择onChange不在窗体内工作