为什么我的JavaScript验证器不起作用?

时间:2016-12-31 14:58:18

标签: javascript html validation

我尝试使用JavaScript来验证textarea中的数字,但它并没有显示任何内容。



var number = document.getElementById("textarea");
var length = number.length;
if (length != 16) {
    document.getElementById("wrongOrRight").innerHTML = "Wrong credit card number! Please try again!";
}
else if (length = 16) {
    document.getElementById("wrongOrRight").innerHTML = "Correct number!";
}
else {
    document.getElementById("wrongOrRight").innerHTML = "Just to see if it works";
}

textarea {
    border: 2px solid #0095FF;
    border-radius: 7px;
}
h4 {
    color: red;
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF.8">
    <title>Validator</title>
    <link rel="stylesheet" type="text/css" href="css.css" />
    <script src="javascript.js"></script>
</head>
<body>
<textarea id="textarea" placeholder="Enter your credit card number here for chocolate! No scam!" cols="50" rows="1" autofocus="autofocus"></textarea>
<h4 id="wrongOrRight"></h4>
</body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

这是一个正确的脚本,可以完成您要实现的目标: jsfiddle

你几乎没有问题。就像NewToJs在评论中提到的那样,你没有将你的代码链接到textarea的事件。

为了实现这一点,您还需要将代码转换为javascript函数。像这样:

function validate() {
... //your code
}

<textarea id="textarea" placeholder="Enter your credit card number here for chocolate! No scam!" cols="50" rows="1" autofocus="autofocus" onkeyup="validate()">

另一个问题是你比较了textarea的长度,而不是textarea的值。这是你需要做的: var number = document.getElementById("textarea").value;

接下来,当您将数字长度与16进行比较时,您确实

 } else if (length = 16) {

你忘记了=(javascript中的比较是==)。我认为这是一个错字,但它是我的小提琴。

答案 1 :(得分:0)

你必须添加:

Tour.find({priceUsd: {$gt: 10}}, callback);

向您发送文本区域输入并在函数中编写您的java脚本:

onChange="ChecktheInput();"