使用HTML和JavaScript验证表单-检查表单输入是否与数组中的值匹配
我有一个简单的web表单,它接受用户电子邮件和密码进行登录。 我想检查用户的电子邮件和密码是否与外部javascript文件中存储的内容匹配,如果组合匹配,则转到index.html页面 我的阵列在我的路由器文件中声明如下:使用HTML和JavaScript验证表单-检查表单输入是否与数组中的值匹配,javascript,html,forms,Javascript,Html,Forms,我有一个简单的web表单,它接受用户电子邮件和密码进行登录。 我想检查用户的电子邮件和密码是否与外部javascript文件中存储的内容匹配,如果组合匹配,则转到index.html页面 我的阵列在我的路由器文件中声明如下: var USERS = { users: [] }; function User(type, useremail, password) { this.type = type; this.useremail = useremail; this.password = p
var USERS = { users: [] };
function User(type, useremail, password) {
this.type = type;
this.useremail = useremail;
this.password = password;
}
var Bob = new User("rep", "bob@bob.com", "qwerty");
USERS.users.push(Bob);
var Helen = new User("rep", "helen@helen.com", "test");
USERS.users.push(Helen);
var Dominic = new User("customer", "dom@dom.com", "1234");
USERS.users.push(Dominic);
var James = new User("grower", "james@james.com", "pass1");
USERS.users.push(James);
<div id="loginform">
<form id ="login" name="login" method="post" accept-charset="utf-8" onsubmit="return verify();">
<h1> </h1>
<label>
<span>Email Address:</span>
<input id="email" type="email" name="email" placeholder="Enter a valid email address" required />
</label>
<br>
<label>
<span>Password:</span>
<input id="password" type="password" name="password" placeholder="Password" required />
</label>
<br> <br>
<label id="reset"><a href="#">Click here to reset your password</a>
</label>
<br>
<label>
<span> </span>
<input id="submit_button" type="submit" value="Login" />
</label>
<!-- <input type="submit" value="Login" onsubmit = "verify()"> --><!-- <input type="submit" name="submit" value="Send"> -->
</form> <!-- End of log in form -->
</div>
我的html表单如下所示:
var USERS = { users: [] };
function User(type, useremail, password) {
this.type = type;
this.useremail = useremail;
this.password = password;
}
var Bob = new User("rep", "bob@bob.com", "qwerty");
USERS.users.push(Bob);
var Helen = new User("rep", "helen@helen.com", "test");
USERS.users.push(Helen);
var Dominic = new User("customer", "dom@dom.com", "1234");
USERS.users.push(Dominic);
var James = new User("grower", "james@james.com", "pass1");
USERS.users.push(James);
<div id="loginform">
<form id ="login" name="login" method="post" accept-charset="utf-8" onsubmit="return verify();">
<h1> </h1>
<label>
<span>Email Address:</span>
<input id="email" type="email" name="email" placeholder="Enter a valid email address" required />
</label>
<br>
<label>
<span>Password:</span>
<input id="password" type="password" name="password" placeholder="Password" required />
</label>
<br> <br>
<label id="reset"><a href="#">Click here to reset your password</a>
</label>
<br>
<label>
<span> </span>
<input id="submit_button" type="submit" value="Login" />
</label>
<!-- <input type="submit" value="Login" onsubmit = "verify()"> --><!-- <input type="submit" name="submit" value="Send"> -->
</form> <!-- End of log in form -->
</div>
为了以防万一,我的路由器中有一个部分,我会根据请求反馈登录页面:
app.get('/views/login.html', function (req, res) {
res.render('../views/login.html');
//console.log("Log in page displayed");
});
app.post('/views/login.html', function (req, res) {
var url_parts = url.parse(req.url, true);
var query = url_parts.query;
console.log(query);
console.log("Username: " + query.useremail);
console.log("Password: " + query.password);
});
我把自己和所有不同的代码和文件搞混了。。。如何验证用户是否可以登录
我将验证函数放在哪里?我现在把它放在用户数据下面的路由器文件中,但我想在HTML中使用它,所以我考虑在那里放入标记…?我建议您使用Javascript作为NodeJS的服务器,然后您需要为这创建一个路由,对吗?所以它必须在后端使用服务器端语言,比如php、asp、rails……你能给我看一下你的项目的结构吗?看这个项目,路径在app.jsIn中,第102行是登录的路径:app.get'/login',sessionController.new;主文件夹nodejs->Contains:node_modules,public Contains css Contains style.css,router Contains Main.js,views Contains index.html和views.html,expressserver.js,package.json在路由中不要放置.htlml文件。只有这样的路径:app.post'/login',sessionController.create;在控制器中渲染视图。你懂我博客的代码吗?不懂。。。很抱歉我对这一切都很陌生。我只花了几周的时间来研究它
var email = req.body.email;