如何使用 <p> HTML 将表单数据传递到路由器函数



我正在尝试编写一个页面,其中显示了用户未经验证的帐户列表,每个帐户都有自己的表单元素。每个表单元素都有自己的"提交"按钮,该按钮将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 }}" />

请注意,用户当然可以更改发送给服务器的任何内容的值。

最新更新