当前位置: 首页 > 知识库问答 >
问题:

为什么我可以选择使用nodeValue insted of just value?[副本]

水麒
2023-03-14

我正在编写一个html页面,它得到一个名字、一个地址和一个电话号码来练习验证。当javascript函数尝试获取输入中值的长度时,我会得到这个错误:“uncattle typeerror:Cannot read property'length‘of null”

我不知道nodeValue是什么意思,但我只是想在输入中获取值。

function Validate(nameInput, lastNameInput, addressInput, phoneInput)
{

var errorSpan = document.getElementById("errorSpan");
var okSpan = document.getElementById("okSpan");

var nameErrSpan = document.getElementById("nameErrSpan");
var lastNameErrSpan = document.getElementById("lastNameErrSpan");
var addressErrSpan = document.getElementById("addressErrSpan");
var phoneErrSpan = document.getElementById("phoneErrSpan");

var nameLength = nameInput.nodeValue.length;
var lNameLength = lastNameInput.nodeValue.length;
var addressLength = addressIput.nodeValue.length;
var phoneLength = phoneInput.nodeValue.length;

下面是我的html代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Validation Form</title>
</head>
<body>

<div>
    <span>First name:</span><br />
    <input type="text" id="firstName" /> <span id="nameErrSpan" class="nHidden">Name Must Be Between 3 - 10 Letters</span>
    <br>


    <span>Last name:</span><br />
    <input type="text" id="lastName" /> <span id="lastNameErrSpan" class="lnHidden">Last Name Must Be Between 3 - 10 Letters</span>
    <br>

    <span>Address:</span><br />
    <input type="text" id="address" /> <span id="addressErrSpan" class="adHidden">Address Must Be Between 10 - 25 Letters</span>
    <br>

    <span>Phone number:</span><br />
    <input type="text" id="phoneNumber" /> <span id="phoneErrSpan" class="pHidden">Phone Must Be Between 3 - 10 Digits</span>
    <br>

    <button onclick="Validate(firstName, lastName, address, phoneNumber)">Check</button><br />

    <span id="errorSpan" class="hidden">Missing fields</span><br />
    <span id="okSpan" class="hidden">All fields are filled</span><br />

    <button onclick="reset()">Reset</button><br />


</div>

<link rel="stylesheet" href="registrationForm.css">
<script src="registrationForm.js"></script>
</body>
</html>

共有1个答案

蔚宏大
2023-03-14

若要获取输入到输入中的文本,应使用.value,而不是.nodevalue

var nameLength = nameInput.value.length;
var lNameLength = lastNameInput.value.length;
var addressLength = addressIput.value.length;
var phoneLength = phoneInput.value.length;
 类似资料:
  • 问题内容: 我有这个变量: 我想在像SCSS这样的选择器中使用它: 因此输出变为CSS: 但这是行不通的。可能吗? 问题答案: 如果在字符串中使用,例如在URL中使用:

  • 我知道这已经被问了很多次了(实际上,很多!),但是我仍然不能完全理解这两者之间的主要区别是什么。 我知道一个服务返回所提供函数的一个单例实例,工厂将简单地调用该函数并返回其值。 但是... 在我看来,你可以用一个或另一个来实现相同的效果,那么我应该如何选择使用哪一个呢?为什么我应该选择服务而不是工厂,或者相反? 是否存在这样一种情况:一方可以做另一方不能做的事情?

  • 为什么我不能用鼠标取消选择/选择JTable布尔字段,如果我使用键盘进入字段,我总是可以用空格键取消选择/选择。但在鼠标上,它有时起作用,有时不起作用。 更复杂的是,is_compilitation布尔字段的基础数据为true/false,但所有其他基础字段的基础数据为1/0,is_compilitation字段似乎总是正常工作,但其他字段是零星的。 试着注释出不同的代码,但运气不佳。我在这里发布

  • 我找不到任何解释原因的好消息:

  • 目前正在使用React Native,并尝试使用React Native nfc ios和React national nfc,以便我可以在ios和Android之间进行跨设备通信。我发现他们无法沟通,但我认为这是由于一个更广泛的问题(因为其他现有的应用程序也无法工作)。 如果我在iPhone7上下载NFC阅读器应用程序,在Android上下载NFC写入器应用程序,它们就无法通信。这是为什么呢?