【问题标题】:EJS render and scroll to sectionEJS 渲染并滚动到部分
【发布时间】:2021-02-03 11:14:56
【问题描述】:

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

我想做这样的事情:

app.post('/rsvp', (req, res) => {
  res.render('index/#rsvp', { errors: { email: 'Your email has already registered'}})
}

我的 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 的最佳方法是什么

【问题讨论】:

    标签: html node.js express ejs


    【解决方案1】:

    render 的第一个参数是模板的文件名

    这不是浏览器正在访问的 URL。

    浏览器已经确定并要求您的服务器提供它(这就是/rsvp 路由首先被命中的原因)。


    您的选择是:

    • 更改浏览器发布到的链接,使其首先包含片段 ID
    • 使用P/G/R patternpost 路由重定向到浏览器获取并包含片段ID 的URL。
    • 加载足够的页面后使用客户端 JS 滚动页面

    EJS 不会帮助您,除非有条件地包含上述最后一个选项中提到的客户端 JS。

    【讨论】:

    • 感谢@quentin 的回复,我认为 EJS 有一个内置的上下文或函数来处理链接
    猜你喜欢
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2018-12-26
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多