Html EJS渲染并滚动到部分

Html EJS渲染并滚动到部分,html,node.js,express,ejs,Html,Node.js,Express,Ejs,我想呈现我的索引,但向下滚动到我的表单部分 我想这样做: app.post('/rsvp', (req, res) => { res.render('index/#rsvp', { errors: { email: 'Your email has already registered'}}) } My index.ejs有一个类似这样的部分: <section id="rsvp"> <form name="rsvp" id

我想呈现我的索引,但向下滚动到我的表单部分

我想这样做:

app.post('/rsvp', (req, res) => {
  res.render('index/#rsvp', { errors: { email: 'Your email has already registered'}})
}
My index.ejs有一个类似这样的部分:

<section id="rsvp">
  <form name="rsvp" id="newRsvp" method="post" action="/rsvp">
    <div class="form-group">
      <% if (locals.errors.email) { %>
         <p>Enter your email</p>
      <% } %>
  </form>
</section>

输入您的电子邮件


使用EJS执行此操作的最佳方法是什么渲染
的第一个参数是模板的文件名

它不是浏览器正在访问的URL

浏览器已经确定了这一点,并向您的服务器请求了它(这就是为什么首先要点击
/rsvp
路由)


你的选择是:

  • 更改浏览器发布到的链接,使其首先包含片段ID
  • 使用从
    post
    路由重定向到浏览器获取的URL,该URL包含片段id
  • 在加载足够的页面后,使用客户端JS滚动页面

EJS不会帮助您,除了可能有条件地包括上面最后一个选项中提到的客户端JS。

感谢@quentin的回复,我认为EJS有一个处理链接的内置上下文或函数