我是一名新手脚本,而我正在尝试做的是:创建一个注册表和一个计算器。如果输入的密码少于5个符号或用户名少于3个符号,则无法继续。但即使我输入一个超过3个符号的用户名和一个超过5个符号的密码,它仍会显示错误信息。
代码:http://pastebin.com/KqYbDJMw
var user = document.forms[0].username.value;
var pw = document.forms[0].password.value;
function triggerCalc(){
if (pw.length < 5 && user.length < 3){
alert("An error occured");
}
else {
alert("Thank you for registering to my website.");
var action = prompt("Welcome to my calculator. For addition press 1, for substraction press 2, for multiplication press 3, for division press 4 and for square root press 5:", "");
var firstNum = new Array();
var secondNum = new Array();
var result = new Array();
答案 0 :(得分:3)
如果这些条件的 为真,您希望失败,因此请使用||
(或)代替&&
(和)
if (pw.length < 5 && user.length < 3)
应该是
if (pw.length < 5 || user.length < 3)
此外,您每次进行检查时都希望获取当前值,因此
var user = document.forms[0].username.value;
var pw = document.forms[0].password.value;
应该在内部你的功能。即
function triggerCalc(){
var user = document.forms[0].username.value;
var pw = document.forms[0].password.value;
答案 1 :(得分:1)
问题是你得到:
var user = document.forms[0].username.value;
var pw = document.forms[0].password.value;
function triggerCalc(){...
负载。所以它总是空白的。要在用户点击“继续...”时获取它,请将其移到函数内部,如下所示:
function triggerCalc(){
var user = document.forms[0].username.value;
var pw = document.forms[0].password.value;
...
答案 2 :(得分:0)
你离我太远了。两个主要的变化是您需要将变量赋值放在要调用的函数中,以便在按下提交按钮时获取值。 此外,您可能希望在验证字段时使用Or。这是一个例子:
function triggerCalc(){
var user = document.forms[0].username.value;
var pw = document.forms[0].password.value;
if (pw.length < 5 || user.length < 3){
alert("An error occured");
}
如果您正在进行任何类型的验证,那么有一些很棒的jQuery库可以让它看起来很棒且易于实现。您可能想要快速谷歌搜索。