我正在尝试编写一个页面,其中显示了用户未经验证的帐户列表,每个帐户都有自己的表单元素。每个表单元素都有自己的"提交"按钮,该按钮将POST
调用发送给/verify
。我遇到的问题是表格中的<p>
数据在/verify
中不可见。如何让服务器访问此表单数据?
此功能可为我们构建验证帐户页面的数据提供:
router.get('/verifyAccounts', function(req, res){
userData.find({"Verified": false}, function(err, user){
//console.log(user);
res.render('listUnverified', {listOf: user});
});
});
此功能是我们试图将数据传递到:
的/verify
函数 router.post('/verify', function(req, res) {
//console.log(req.body);
var email = req.body.orgEmail;
console.log(email);
userData.update({"Email": email}, {$set: {"Verified": true}}, function(err, user) {
res.redirect('/verifyAccounts');
});
//res.redirect('/');
});
构建验证帐户页面的代码是:
<!doctype html>
<h1>THIS IS A LIST OF UNVERIFIED ORGANIZATION ACCOUNTS</h1>
{{# each listOf }}
<form action = "/verify" method="post">
<p name="orgName">{{ Org }}</p>
<p name="orgEmail">{{ Email }}</p>
<p name="orgPassword">{{ Password }}</p>
<button type="submit">Verify</button>
</form>
<br>
{{/each}}
从本质上讲,我想要的是/verify
函数,可以访问单击"提交"按钮的表单中的字段,例如orgName
段落元素中的文本。知道我该怎么做?
<p>
不是表单元素,它只是显示元素。因此,从本质上讲,您有一个空的形式。您希望input
元素保存表单数据。类似:
<input type="text" name="orgName" value="{{ Org }}" />
您也可以使用两者,也许使用<p>
显示信息和隐藏的表单元素将其传递到服务器:
<p>{{ Org }}</p>
<input type="hidden" name="orgName" value="{{ Org }}" />
请注意,用户当然可以更改发送给服务器的任何内容的值。