在我的项目中,我希望用户选择一个单选按钮,然后根据单选按钮的值,我想显示一个唯一的页面。我必须使用 ejs 模板,但我不明白如何将按钮的值传递给 ejs 模板。
<input name="imagePick" value="1" type="radio" id="one">
<label for="one">
<img src="images/aries.png" alt="aries" height="150" width="auto">
</label>
<input name="imagePick" value="2" type="radio" id="two">
<label for="two">
<img src="images/taurus.png" alt="taurus" height="150" width="auto">
</label>
$("input[name='imagePick']").on("change", function() {
var sign = $('input[name="imagePick"]:checked').val();
console.log("the sign is: " + sign);
});
var theSign = 符号;
res.render('template.ejs', {theSign : theSign});
</head>
<body>
<% for (var i = 0; i < allTheData.length; i++) { %>
<h1>Hi <span id="first"><%=allTheData[i].first%></span><br/><br/></h1>
<% } %>
<h1> sign: <span id="sign"><%=theSign%></span></h1><br/>
<h2> what a great webapp </h2>
</body>
</html>
最佳答案
由于表单是客户端 DOM 的一部分,并且服务器端代码将 EJS 转换为 HTML:您需要在 HTTP 请求中将数据发送到服务器。
将表单控件放在 <form>
中,设置action
到由 Express 代码中的路由处理的 URL,然后从查询字符串或请求正文中读取它,具体取决于您是否选择使用 GET or POST 。按照你喜欢的方式处理数据,然后将其传入 an object as the argument to render()
.
关于javascript - 如何将变量从 javascript 文件传递到服务器到 ejs 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56010300/