javascript – 未捕获的TypeError:无法设置null的属性’onchange’
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 未捕获的TypeError:无法设置null的属性’onchange’,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1531字,纯文字阅读大概需要3分钟。
内容图文
我正在使用下拉列表来动态更改页面上的内容.它工作但只在Chrome中抛出一个js错误. Chrome推荐的内容我不知道如何实施.站点在ExpressionEngine 2.8.1中构建.
错误的消息
Uncaught TypeError: Cannot set property ‘onchange’ of null functions.js:65
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
我的JS代码
document.getElementById("drop").onchange = function() {
if (this.selectedIndex!==0) {
window.location.href = this.value;
}
};
我的HTML代码
<form method="post" action="{path='locations/index'}" class="drop">
<select id="drop">
<option>Select a Location:</option>
{exp:channel:entries channel="locations" category="not 3" orderby="title" sort="asc" dynamic="no"}
<option value="{site_url}index.php/locations/{url_title}">{title}</option>
{/exp:channel:entries}
</select>
</form>
解决方法:
这个错误消息只有一个可能的原因,document.getElementById(“drop”)不返回该元素,唯一的原因是该元素不存在,但在HTML中显然是这样,所以脚本必须在DOM中的元素之前运行.
你必须在DOM中的元素之后包含javascript,或者将它包装在DOM就绪处理程序中,如window.onload等.
<form method="post" action="{path='locations/index'}" class="drop">
<select id="drop">
<option>Select a Location:</option>{exp:channel:entries channel="locations" category="not 3" orderby="title" sort="asc" dynamic="no"}
<option value="{site_url}index.php/locations/{url_title}">{title}</option>{/exp:channel:entries}
</select>
</form>
<script>
document.getElementById("drop").onchange = function() {
if (this.selectedIndex !== 0) {
window.location.href = this.value;
}
};
</script>
内容总结
以上是互联网集市为您收集整理的javascript – 未捕获的TypeError:无法设置null的属性’onchange’全部内容,希望文章能够帮你解决javascript – 未捕获的TypeError:无法设置null的属性’onchange’所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。