2017-10-14 51 views
0

未捕获TypeError:无法设置属性'onclick'的undefined的onclick设置为undefined,但我有正确的语法,没有错别字?

我不断收到上述错误,我无法弄清楚它在哪里或如何出错。每当页面加载时,错误都是即时的,我不必为错误点击任何按钮。我相信我有正确的语法,并且据我自己的眼睛可以说,没有错别字。

下面是相关的HTML和JS代码。我喜欢在小部分中编码,以确保每个小部分都能工作,然后再转到下一部分。

HTML

<h4>Enter Hex Code</h4> 
    <input id="hexInput"></input></br> 
    <button>Generate</button> 

的JavaScript

如果
var hexInput = document.getElementById("hexInput"); 
    var generateButton = document.getElementsByTagName("button")[0]; 

    var generateHex = function() { 
    console.log(hexInput); 
    }; 

    generateButton.onclick = generateHex; 

道歉我格式化代码不正确的讯息。新注册。

谢谢。

回答

0

是您的剧本早在比它使用,如下面的代码片段的HTML网页?如果是这样,那么在浏览器中创建的DOM元素之前var hexInput...线运行。

<script> 
var hexInput = document.getElementById("hexInput"); 
var generateButton = document.getElementsByTagName("button")[0]; 

var generateHex = function() { 
console.log(hexInput); 
}; 

generateButton.onclick = generateHex; 
</script> 

<h4>Enter Hex Code</h4> 
<input id="hexInput" /> 
<button>Generate</button> 

您可以扭转块和事物的秩序将被罚款(如this JSFiddle)。或者,如果脚本是在装载有<script src="...”一个单独的文件,整个页面将在脚本运行之前加载。

+0

我......不能相信我没有想到这一点。我太专注于语法我忘了检查我的代码。谢谢你的物流! –

+0

很高兴能帮助你。你修剪下来,只是这两个片段使它容易为(或其变型)是所有它可以。(或者,如果它一直别的什么,我会完全失去。:)) – DocMax

相关问题