如何从ejs中获取文本区域的值。 Bootstrap,Node JS

时间:2013-12-01 20:16:30

标签: javascript node.js twitter-bootstrap ejs

我的“EJS”文件中有一个Bootstrap表单,底部有“SAVE”按钮。 当我按“保存”时,我想将字段中的数据存储到我的数据库中。

问题是在post上执行的函数 - “req.body”为空。 所以存在一个逻辑问题,但我无法得到确切的问题。

这是我的代码:

EJS

<div id = "container">
    <form class="form-horizontal" role="form" method="post">
       <div class="form-group">
           <label for="inputEmail3" class="col-sm-2 control-label">First Name</label>
           <div class="col-sm-10">
              <input type="text" class="form-control" id="inputFirstName3" placeholder= <%= user.profile.name %> >
           </div>
       </div>
       .
       .
       .
       <div class="form-group">
          <button type="submit" class="btn btn-primary">Save</button>
       </div>
    </form>
</div>

APP.JS

app.get("/edit", permissions.requireActiveRole, edituserprofile.editMyProfile);

app.post("/edit", permissions.requireActiveRole, edituserprofile.saveChanges);

saveChanges()函数在单独的JS文件中

exports.saveChanges = function (req, res) {
    console.log(req.body); ////  logs {}, data from ejs fields should be here!
}

我希望我的问题很明确,非常感谢!

1 个答案:

答案 0 :(得分:2)

您的<input>需要name属性:

<input type="text" name="firstName" class="form-control" id="inputFirstName3" placeholder= <%= user.profile.name %> >

顺便说一下,我还会在任何扩展变量周围加上引号。