我的脚本在 Edge 中返回Microsoft未定义的错误
My script is returning an undefined error in Microsoft Edge
这是JS和HTML代码:
function dateChange(){
var e = document.getElementById("trainingtype");
var str = e.options[e.selectedIndex].value;
var val = str;
if (val == "1"){
var x = document.getElementsByClassName("class1");
for(i=0; i<x.length; i++) {
x[i].style.display = "block";
}
var x = document.getElementsByClassName("class2");
for(i=0; i<x.length; i++) {
x[i].style.display = "none";
}
var x = document.getElementsByClassName("class3");
for(i=0; i<x.length; i++) {
x[i].style.display = "none";
}
document.getElementById("datepicker").value="Select Date and Place";
} else {
//another If else statement
}
}
<select name="item_name" id="trainingtype" onChange="dateChange()">
<option selected>Select training type</option>
<option value="Bike">Bike Riding</option>
<option value="Bucket">Bucket Washing</option>
<option value="Shoe">Shoe Tying</option>
</select>
<select name="datepicker" id="datepicker" onChange="amountChange(value)">
<option>Select Date and Place</option>
<option class="class1" value="1">1</option>
<option class="class2" value="2">2</option>
<option class="class3" value="3">3</option>
</select>
此代码在Chrome,Safari和Firefox中完美运行,但在Microsoft Edge中不起作用。在控制台中,我收到错误:SCRIPT5009: 'value' is undefined
我该如何解决这个问题?
以下 JavaScript 行不会调用您期望的元素:
var e = document.getElementById("trainingtype");
这是调用#trainingtype
元素,即:
<select name="item_name" id="trainingtype" onChange="dateChange()">
<option selected>Select training type</option>
<option value="Bike">Bike Riding</option>
<option value="Bucket">Bucket Washing</option>
<option value="Shoe">Shoe Tying</option>
</select>
然后你继续测试vlaue:
var str = e.options[e.selectedIndex].value;
var val = str;
if (val == "1") {
但是,1 与选项列表中的任何值都不相似。原来的选项列表已被替换,但它们不是数字。它们是单词/短语。
相反,您似乎打算调用#datepicker
(其值为 1、2 和 3)。否则,您可能无意中在第一个选项列表中使用了错误的值类型。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- Microsoft JScript运行时错误:无法获取属性'的值;样式':对象为null或未定义
- Microsoft JScript运行时错误:'Sys'未定义(在mvc3 c#剃刀中)
- 如何解决Microsoft JScript运行时错误:'$'未定义
- Asp.net:Microsoft JScript 运行时错误:“测试”未定义
- Microsoft JScript 运行时错误:无法获取属性“value”的值:对象为 null 或未定义
- 我的脚本在 Edge 中返回Microsoft未定义的错误
- Microsoft JScript 运行时错误:“Alticore”未定义
- IE7 javascript错误:未定义运行时错误microsoft jscript:dropdownlist
- Microsoft JScript运行时错误:'clientUploadComplete'未定义
- JavaScript对象是未定义的,直到网页刷新Microsoft Edge
- Microsoft JScript运行时错误:'WScript'未定义
- Microsoft JScript运行时错误:'从购物车删除行'未定义