我有一个组合框,其中包含我想用来在另一个输入字段中触发文本的值列表。
即。如果有人选择了特定的海滩,它会显示有关狗是否被允许离开该区域的皮带的信息。
我写了几个函数,但它似乎不想触发。
function initListeners(){
addEventListener(document.forms[0].cboBeachSelect, 'change', DisplayBeachZoneInfo);
}
function DisplayBeachZoneInfo () {
alert("Yep this works");
}
在我尝试填充文本框(称为txtBeachZoneInfo)之前,我刚刚制作了一个测试警告框,但它没有触发任何内容。
自从我完成任何JavaScript以来已经过了一年,所以我不确定语法是否已经改变,所以任何帮助都会受到赞赏。
*编辑* 它是一个从eForm调用的独立.js文件。周围没有HTML。我在这个相同的上下文中使用此方法之前已经完成了它,但它今天不起作用!
* EDIT2 * 就这样我下次知道,我做错了什么才能在我的问题上获得支持。不是防守,只是想知道,所以我可以在将来避免它,并提出更好的问题。
答案 0 :(得分:2)
如果您检查控制台,则会看到错误。
addEventListener
是EventTarget
实例的方法,而不是全局函数。
您应该像以下一样使用它:
document.forms[0].elements.cboBeachSelect
.addEventListener('change', DisplayBeachZoneInfo);
您可能希望将false
作为第三个参数useCapture
传递,以使其适用于某些旧浏览器。
答案 1 :(得分:0)
结果将以下内容添加到附加到我的eForm的.js文件中。
if (window.addEventListener) {
window.addEventListener('load', initListeners, false);
}
else if (window.attachEvent) {
window.attachEvent('onload', initListeners );
}
感谢所有试图提供帮助的人。