我在ejs中的语法有问题,这对我来说并不明显:
<form class="dataForm" action="<%= template.actionPath %>" method="post">
<% for(var i in template.inputVar) { %>
<label><%= template.inputVar[i].labelName %></label>
<br>
<% if (template.inputVar[i].type == "option") { %>
<select name="<%= template.inputVar[i].name %>">
for(var j in template.inputVar[i].options) { %>
<option value="<%= template.inputVar[i].options[j] %>"><%= template.inputVar[i].options[j] %></option>
<% } %>
</select>
<% } else { %>
<input type="<%= template.inputVar[i].type %>" name="<%= template.inputVar[i].name %>">
<% } %>
<br><br>
<% } %>
我正在渲染一个创建表单的网页。现在,我想添加一个功能,使我可以在表单中进行选择。 不幸的是,ejs不喜欢我说的“ else”:
SyntaxError: Unexpected token else in C:\Users\etc... while compiling ejs
我对此问题进行了一些研究,但找不到可以帮助我的东西。
答案 0 :(得分:1)
您的for
行缺少开头的ejs脚本标记
for(var j in template.inputVar[i].options) { %>
到
<% for(var j in template.inputVar[i].options) { %>
此外,您应该关闭表单标签