如果在 html 片段中,则使用一行 javascript

Use one line javascript if in html snippet

此字段HTML 变量用于在用户按下'add field' 按钮时创建动态字段。我将这些动态字段值保存在 localStorage 中。刷新页面后,我想检查此输入是否已保存值,如果是,则显示此输入。问题是,在 value 属性中定义的这一行 if 语句中,即使它具有值,我的输入也不会显示。我定义输入值的那一行有什么问题?我相信这是引号的问题,因为当我尝试在 console.log 中调试这一行时,我得到的文本值为空。我在控制台中没有收到任何错误。

var fieldHTML = '<div> \
<input type="text" name="name[]" class="form-control" placeholder="Enter name" \
            value="'+(localStorage.getItem(array['name'][i])) ? localStorage.getItem(array['name'][i]) : 'empty' +'" /></div>';
  1. \ 多行支持仅限于仅支持 ES5 的浏览器。
  2. 'empty' +'" 意外的文字字符串连接。
  3. if 放入带括号 ((localStorage.getItem(array['name'][i])) ? localStorage.getItem(array['name'][i]) : 'empty')
  4. 的框架中

修改后的脚本:

var fieldHTML = '<div><input type="text" name="name[]" class="form-control" placeholder="Enter name" value="'+ ((localStorage.getItem(array['name'][i])) ? localStorage.getItem(array['name'][i]) : 'empty') + '" /></div>';