如何使用Jade处理可能预先填好的表格?

时间:2015-01-14 06:14:04

标签: javascript node.js pug

如果数据已经存在于数据库中,那么这个庞大的表单只会获得预先填充的数据。否则,任何文本框都不应包含value参数。我认为如果我从中获取数据的变量不存在,它将忽略value参数。但相反,我得到了一个错误。

如何处理此案?我是否必须在Jade中的每个文本框之前进行if检查,如下所示?

if (typeof(prefilled_data) !== 'undefined')
    input.form-control#prevalence(type="text", name="prevalence")
else
    input.form-control#prevalence(type="text", name="prevalence", value=prefilled_data.tb_burden_estimates.prevalence)

虽然我不介意这样做(Sublime Text会帮助所有复制粘贴),但是有很多表单字段,所以它可能会变得难看。有没有办法将其合并到一个支票?

2 个答案:

答案 0 :(得分:0)

你似乎在暗示if语句会变得笨重/使代码难以阅读如果它们在那里......我的建议是以编程方式创建输入,通过将if语句减少到更易于管理编号并回答你关于能够“将其合并到某个地方”的问题

修改

如果你想访问js中的数据..我已经知道使用类似的东西:

script(type='text/javascript').
    window.prefilled_data = !{ JSON.stringify(prefilled_data) };

这样您就可以访问全局window.prefilled_data变量来获取数据的前端版本

答案 1 :(得分:0)

你可以这样做:

- if (typeof(prefilled_data) === 'undefined'){
-   prefilled_data = '';
- }
input.form-control#prevalence(type="text", value=#{prefilled_data})

如果未定义prefilled_data,您只需设置''