如果数据已经存在于数据库中,那么这个庞大的表单只会获得预先填充的数据。否则,任何文本框都不应包含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会帮助所有复制粘贴),但是有很多表单字段,所以它可能会变得难看。有没有办法将其合并到一个支票?
答案 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
,您只需设置''
值