【问题标题】:Trying to use EJS to dynamically render an edit form尝试使用 EJS 动态呈现编辑表单
【发布时间】:2018-03-23 17:38:17
【问题描述】:

问题似乎出在 EJS 上。我可能正在尝试做一些 EJS 不适合做的事情。

我正在开发一个使用具有可变数量字段的表单的网络应用程序。如果我正在编辑的 Mongo 文档只有一个字段,我不想显示任何其他字段的输入框。

我能够动态控制编辑文档时显示的字段数量,但我无法动态显示字段的当前值。

如果我像这样使用值标签:value=<%= document.field1 %>,它可以正常工作。但是,必须为每个字段手动重复此操作,包括不存在的字段。

我想做的是这样的:value=<%= 'document.field' + (i+1) %>。理想情况下,这将生成与上面代码相​​同的渲染 HTML。但是,我看到的是'document.field1',而不是我想从数据库中检索的数据。

【问题讨论】:

    标签: forms express ejs


    【解决方案1】:

    EJS 只是 JavaScript 代码的一个薄包装器。任何你可以用 JavaScript 写的东西,你可以用 EJS 写的东西,它都会被包含在编译的模板中而无需修改。

    因此,要引用具有动态名称的字段,您可以使用 [],就像在任何其他 JavaScript 代码中一样。根据您提供的代码,它将是这样的:

    value="<%= document['field' + (i + 1)] %>"
    

    【讨论】:

    • 谢谢。你帮了我很大的忙。
    猜你喜欢
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    • 1970-01-01
    相关资源
    最近更新 更多