可以这样编辑ejs中输入的值字段吗?

can value field of input in ejs be edited like this?

我想动态地向输入的“值”字段添加值 但这不起作用。

        <form action="/assignCol" method="POST">
        <input
        type="RefCode"
        id="RefCode"
        name="RefCode"
        class="form-control"
        value="<%= user[i].id %>"
        readonly="readonly"
      />
      </form>

我的目标是为用户提供一种功能,只需单击更新按钮即可更新某个人的详细信息。 我希望一旦用户单击更新按钮,我就可以将 user[i].id 发送到 put API.

此外,我想在单击此更新按钮后将此用户[i].id 发送到后端的 put API。这样在后端我可以使用 req.body.id 获取具有此 ID 的该用户的数据,并查找和编辑该用户的详细信息。还有其他可能的方法吗?

如果您使用的是服务器端呈现,则应使用 type="hidden" 而不是 type="RefCode"

另一种方法是单页应用程序 (SPA)。这种方法消除了对 server-side rendering 的需要(不需要 express 在每个请求上呈现 HTML 文件),而是使用 Ajax 和 JSON API 端点实施视线。

如果你喜欢SPA,我会推荐Angular - Tour of Heroes

如果您想在后端使用值,那么您必须使用 <input>name 访问 request 的正文对象,此处为 RefCode

所以必须是req.body.RefCode,才能调用传值

其次,您要求另一种可能的方法,为简单起见,我正在更改属性名称

 
        <input
        type="RefCode"
        id="refcode"
        name="refcode"
        class="form-control"
        value="<%= user[i].id %>"
        readonly="readonly"
      />
      <button onclick="updateData()"</button>


<script>
     const updateData = async () =>{
      const userId= document.getElementById("refcode");
      const result= await fetch(url, {
      method:'PUT', // You can also use POST here
      body:userId
      }
      console.log(result)
     }

<script>