尝试使用EJS动态呈现编辑表单

时间:2017-10-11 22:24:03

标签: forms express ejs

问题似乎与EJS有关。我可能会尝试做一些EJS没有设计的东西。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

EJS只是JavaScript代码的一个薄包装。您可以使用JavaScript编写的任何内容都可以在EJS中编写,它将被包含在已编译的模板中而无需修改。

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

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