Javascript 如何在EJS中使用DOM函数

Javascript 如何在EJS中使用DOM函数,javascript,html,dom,ejs,Javascript,Html,Dom,Ejs,我试图在网页中创建一个函数,当用户按下“提交”按钮时,它将进入一个EJS函数,但我需要DOM函数来更改元素,但文档未在EJS中定义。我能做什么 ejs是一种模板语言,这意味着它只控制页面的呈现方式,并且在加载页面后不改变页面在客户端浏览器上的变化 将代码更改为此应该可以解决此问题: <p id="resMessage"></p> <div id="generalSettings" class="main-menu-content"> <% if

我试图在网页中创建一个函数,当用户按下“提交”按钮时,它将进入一个EJS函数,但我需要DOM函数来更改元素,但文档未在EJS中定义。我能做什么

ejs是一种模板语言,这意味着它只控制页面的呈现方式,并且在加载页面后不改变页面在客户端浏览器上的变化

将代码更改为此应该可以解决此问题:

<p id="resMessage"></p>
<div id="generalSettings" class="main-menu-content">
   <% if (showData.prefix) { %>
   <script type="text/javascript">
      function savePrefix() {
        try {
          configData({
            'prefix': document.getElementById('resMessage') 
          });
        var resMessage = document.getElementById("resMessage")
        resMessage.style.backgroundColor = 'green';
        resMessage.innerHTML = "Success!"
      } catch (err) {
          var resMessage = document.getElementById("resMessage")
          resMessage.style.backgroundColor = 'red';
          resMessage.innerHTML = `Error: ${err.toString()}`
        console.log(err);
      }
      }
   </script>
   <input type="text" id="prefix" value="<%= showData.prefix %>" maxlength="6"><input type="submit" onclick="<%= savePrefix() %>">
   <% } %>
</div>

函数savePrefix(){ 试一试{ 配置数据({ “前缀”:document.getElementById('resMessage') }); var resMessage=document.getElementById(“resMessage”) resMessage.style.backgroundColor='绿色'; resMessage.innerHTML=“成功!” }捕捉(错误){ var resMessage=document.getElementById(“resMessage”) resMessage.style.backgroundColor='红色'; resMessage.innerHTML=`错误:${err.toString()}` 控制台日志(err); } }
我对其进行了编辑,但仍然有效,文档未定义,我不知道如何在不使用document的情况下从输入中获取前缀Jane的答案似乎很有可能,因为它是open
标记,控制模板代码的开始和结束位置。