我有这段 Javascript,但它不起作用。我已经检查过 JSlint,但说一切正常。还是不行。javascript 不在 HTML 中,而是在<head>
注意:我正在使用本地服务器,因此可以立即进行页面加载。
function changeVisibility() {
var a = document.getElementById('invisible');
a.style.display = 'block';
}
var changed = document.getElementById('click1');
changed.onchange = changeVisibility;
这是对应的HTML
<input type="file" name="click[]" size="35" id="click1" />
<div id="invisible" style="display: none;">
<a href="javascript:addFileInput();">Attach another File</a>
</div>
所以会发生什么是我点击输入,选择一个文件并批准。然后 onchange 事件触发,我的不可见 div 的样式设置为阻止。
问题是,我不断收到此错误:
“更改为空:changed.onchange = changeVisibility;”
我不明白,我真的不明白我在这里俯瞰的东西。
编辑:问题已回答,感谢 Mercutio 的帮助,当然也感谢其他所有人。最终代码:
function loadEvents() {
var changed = document.getElementById('click1');
var a = document.getElementById('invisible');
document.getElementById('addField').onclick = addFileInput;
changed.onchange = function() {
a.style.display = 'block';
}
}
if (document.getElementById) window.onload = loadEvents;
这是相应的 HTML:
<input type="file" name="click[]" size="35" id="click1" />
<div id="invisible" style="display: none;">
<a href="#">Attach another File</a>
</div>
另外,感谢JSbin的链接,不知道,看起来很漂亮。