javascript - 如何使用ejs和node制作模态框

标签 javascript html node.js ejs

我正在尝试学习一些 ejs 和 Node,我知道我可以轻松地创建一个仅使用 JS 和 HTML 的弹出模式,就像这样在单击某个按钮时调用函数

调用函数的按钮:

<button id="myBtn">Open Modal</button>

功能:

btn.onclick = function() {
   modal.style.display = "block";
}

但是我如何使用 Ejs 和 NodeJs 来做到这一点?

最佳答案

使用 EJS 和 Node 来执行此操作没有意义。在这种情况下,这些是用于运行服务器端代码的工具。使用现有的 JS 作为客户端 JavaScript(在从 EJS 生成的 HTML 文档中)更有意义。

也就是说,如果您真的想要在服务器端执行此操作,那么您需要在 HTML 中使用类似以下内容:

<form method="post">
    <button name="modal" value="open">Open Modal</button>
</form>

然后(假设您使用的是 Express JS):

const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded());
app.post("/your/page", function (req, res) {
    const show_modal = !!req.body.modal; // Cast to boolean
    res.render("page", { show_modal });
}

然后在 EJS 中:

<% if (show_modal) { %>
    <div id="modal" style="display: block">
        etc
    </div>
<% } %>

关于javascript - 如何使用ejs和node制作模态框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59564689/

相关文章:

javascript - 获取 json 数据在 IE 中有效,但在 FF 和 Chrome 中无效

javascript - 从 XMLHttpRequest send() 捕获异步网络错误

jquery - 如何通过 HTML 表单将 XML 发布到服务器?

html - kendo ui 数据显示不起作用

javascript - 错误 : Missing helper: "if_equal" handlebars

php - 与我的 PHP 网站一起实现 node.js 和 socket.io

javascript - 使用来自输入的链接填充 href

javascript - IF () 语句的令人困惑的行为

javascript - jQuery - <option> 被添加到 <select> 内部和之后

Node.js 在测试环境中不记录错误