假设我的ejs文件中有这些按钮
file.ejs
<% for(var i=0; i<listBrand.length; i++) { %>
<button class="btn btn-primary" value="<%= listBrand[i]%>" id="brandName" onclick="multiple(this.value);">
<%= listBrand[i]%>
</button>
<br/>
<% };%>
<script>
function showList(id) {
var list = document.getElementById(id);
list.style.display = (list.style.display == 'block') ? 'none' : 'block';
}// a div id = "id" is hidden on this page, clicking will make it becomes visible.
function multiple(value) {
showList("listGallery");
console.log(value);
}
</script>
该页面将呈现包含以下值的5个按钮:LEXUS
,TOYOTA
,FERRARI
,MAYBACK
,AUDI
。我想在ejs中声明一个等于按下按钮值的变量。 (例如,如果我点击按钮LEXUS
,则会运行<% var b = 'LEXUS'%>
。)
我搜索了关键字“将值从javascript传递给EJS”,但它只是通过EJS声明javascript。
我觉得这很难,特别是按钮有onClick
。
我需要的是在点击每个按钮时获取每个按钮值并将其传递给ejs变量。任何帮助表示赞赏。
答案 0 :(得分:0)
EJS是服务器端,onClick / JS按钮处理是客户端。如果不进行往返服务器的往返,则无法基于用户输入在EJS中设置值。您可以在用户单击时设置GET / POST参数,然后使用新参数再次使用相同的路径,并根据该参数设置变量。我的猜测是,有一种更好的方法来实现你的目标,但我不知道你对这个表格的最终目标是什么。