未捕获类型错误:无法读取属性';价值';空、HTML和;Javascript

未捕获类型错误:无法读取属性';价值';空、HTML和;Javascript,javascript,html,Javascript,Html,我有一个HTML文件: <form id="form"> <div class="input"> <input id="username" type="text" name="username" placeholder="Username"> </div> <div class="input"> m<input id="email" type="email" name="

我有一个HTML文件:

<form id="form">      
    <div class="input">
      <input id="username" type="text" name="username" placeholder="Username">
    </div>
    <div class="input">
      m<input id="email" type="email" name="email" placeholder="Email">
    </div>
    <div class="input">
      <input id="password1" type="password" name="password_1" placeholder="Password">
    </div>
</form>
其思想是,一旦用户输入了某些内容,就将输入值存储在
Firebase
中。但我根本无法获取输入值。它表明:

未捕获的TypeError:无法读取null、HTML的属性“值”& Javascript

当我加载文件时


有什么建议吗?

文档。queryselector
返回null或
未定义
如果DOM没有加载这些HTML元素,请检查DOM是否已加载,然后在
文档中使用
queryselector
。就绪


它应该可以解决您的问题。

文档。queryselector
返回null或
未定义
如果DOM没有加载这些HTML元素,请检查DOM是否已加载,然后在
文档中使用
queryselector
。就绪


它应该可以解决您的问题。

这是最基本的错误,因为

目标元素未加载,但已执行了查询。

解决这个问题的非常简单的方法就是***

将脚本放在body标记关闭之前


如下

        <script>

        //your code here

        </script>
    </body>
</html>

//你的代码在这里

希望你的问题现在解决了。

这是一个非常基本的错误,因为

目标元素未加载,但已执行了查询。

解决这个问题的非常简单的方法就是***

将脚本放在body标记关闭之前


如下

        <script>

        //your code here

        </script>
    </body>
</html>

//你的代码在这里

希望您的问题现在已经解决。

当您尝试访问DOM时,DOM尚未加载

而是使用jQuery Onload()获取DOM元素的值


加载DOM和图像等资源时会执行Onload()。

当您试图访问DOM时,DOM尚未加载

而是使用jQuery Onload()获取DOM元素的值


加载DOM和图像等资源时会执行Onload()。

您的目的是设置password2的作用域并将其全局注册到文档中吗?您可以声明它们—以便将它们全局范围限定到页面—而无需尝试引用用户输入值后实际从中检索值的元素。只需声明具有任何占位符值或无值的变量

var password2 = null;
var register = null;

以后可以添加/更改值,变量将保留其作用域

增加------

我想我可能完全误读了这个请求,但我对此表示怀疑。OP试图从尚未解析为文档上下文的页面项中读取。所有的回答都同意这是“问题”。然而,其他回答都没有回答真正的问题,“为什么要在页面加载完成之前,即页面加载完成之前,尝试获取值?”即使在页面加载完成之后,阅读也没有任何价值。用户尚未更改这些值

OP的意图是什么?所有其他答案都解决了OP所说的如何“解决问题”。我建议OP不理解真正的问题是他试图做一些不必要的事情,即在他试图阅读的时候阅读没有任何用处的值


我建议并且没有其他猜测,声明变量并导致崩溃的语句是在OP打算将变量放入页面范围的时候做出的。如果有人有更好的或简单的替代建议,提供它,可能还有一个解决方案。让我们承认,帮助OP了解更广阔的编程世界不仅仅意味着迎合他对问题的可能幼稚的理解。我们可能需要纠正他对问题所在的看法。

您是否打算设置password2的范围并在文档中进行全局注册?您可以声明它们—以便将它们全局范围限定到页面—而无需尝试引用用户输入值后实际从中检索值的元素。只需声明具有任何占位符值或无值的变量

var password2 = null;
var register = null;

以后可以添加/更改值,变量将保留其作用域

增加------

我想我可能完全误读了这个请求,但我对此表示怀疑。OP试图从尚未解析为文档上下文的页面项中读取。所有的回答都同意这是“问题”。然而,其他回答都没有回答真正的问题,“为什么要在页面加载完成之前,即页面加载完成之前,尝试获取值?”即使在页面加载完成之后,阅读也没有任何价值。用户尚未更改这些值

OP的意图是什么?所有其他答案都解决了OP所说的如何“解决问题”。我建议OP不理解真正的问题是他试图做一些不必要的事情,即在他试图阅读的时候阅读没有任何用处的值

我建议并且没有其他猜测,声明变量并导致崩溃的语句是在OP打算将变量放入页面范围的时候做出的。如果有人有更好的或简单的替代建议,提供它,可能还有一个解决方案。让我们承认,帮助OP了解更广阔的编程世界不仅仅意味着迎合他对问题的可能幼稚的理解。我们可能需要c