如何访问ejs视图中的js变量(在脚本标记中)作为ejs变量



我有一个脚本,以便在我的ejs视图中获得select标记的选定选项,这是为了动态地将name属性的值设置为选定选项。然后,我在nodeJS服务器端使用这个输入标记的名称。但是,我收到了ReferenceError: p is not defined

在我的ejs视图中访问JS变量的正确方式是什么?

EJS-

<select>
<option>A</option>
<option>B</option>
<option>C</option>
</select>
<!-- JS as a tag in the EJS !-->
<script>
let p = document.querySelector('select').selectedOptions[0].value;
</script>
<input type="file" name="<%= p %>">

非常感谢您的帮助。非常感谢。

EJS代码在服务器上执行,JS代码在浏览器上执行。

让EJS访问DOM变量的唯一方法是通过JS代码调用后端API,然后对其进行评估并返回到前端,但这是一个糟糕的设计,不推荐使用。

最好只通过JS处理标记的值,提交表单时会将详细信息发送给服务器。

最新更新