错误 - 无法读取空的特性“值”

问题描述 投票:-2回答:2

我已经看到了这个问题,这是我没有经历到现在多篇文章。

我有id为“FNAME”输入字段,并希望得到由ID的元素,并将其值存储在一个变量。

不过,我不断收到在标题中提到的错误。

JavaScript的

<script>
var fname = document.getElementById("fname").value;
var lname = document.getElementById("lname").value;
</script>

HTML

<p>Enter the first string:<input type = "name" id="fname">
<p>Enter the second:<input type = "name" id="lname"></p>

任何人都可以获取错误?我一直在努力,在过去20分钟。

javascript html5
2个回答
1
投票

DOM元素后,我们要始终加载脚本。在这种情况下,你应该将文件移到底部,使其工作。它总是者优先方式只是身体结束标记</body/>之前加载脚本

<p>Enter the first string:<input type = "name" id="fname">
<p>Enter the second:<input type = "name" id="lname"></p>

<script>
var fname = document.getElementById("fname").value;
var lname = document.getElementById("lname").value;
</script>

实时运行的例子 - https://jsitor.com/Rg0jU9HFN


0
投票

您需要执行Javascript代码后的文件已完全呈现。 JavaScript有内置的功能对于这一点,无需触发它的按钮。

<p>Enter the first string:<input type = "name" id="fname">
<p>Enter the second:<input type = "name" id="lname"></p>

<script>
//first define the variables so they are available in the global scope
var fname, lname;

//once the document has fully loaded, call the function 
//passed as second argument to the addEventListener method
document.addEventListener('DOMContentLoaded', function(){ 
   fname = document.getElementById("fname").value;
   lname = document.getElementById("lname").value;
});
</script>

请注意,它不会在旧的Internet Explorer版本的工作,因为他们不支持DOMContentLoaded事件。

© www.soinside.com 2019 - 2024. All rights reserved.