在onClick上获取ejs中的按钮值

时间:2018-01-12 20:40:44

标签: javascript html ejs

假设我的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个按钮:LEXUSTOYOTAFERRARIMAYBACKAUDI。我想在ejs中声明一个等于按下按钮值的变量。 (例如,如果我点击按钮LEXUS,则会运行<% var b = 'LEXUS'%>。)

我搜索了关键字“将值从javascript传递给EJS”,但它只是通过EJS声明javascript。

我觉得这很难,特别是按钮有onClick

我需要的是在点击每个按钮时获取每​​个按钮值并将其传递给ejs变量。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

EJS是服务器端,onClick / JS按钮处理是客户端。如果不进行往返服务器的往返,则无法基于用户输入在EJS中设置值。您可以在用户单击时设置GET / POST参数,然后使用新参数再次使用相同的路径,并根据该参数设置变量。我的猜测是,有一种更好的方法来实现你的目标,但我不知道你对这个表格的最终目标是什么。