【问题标题】:Populating form fields from JSON feed using forEach or for loop (JS)使用 forEach 或 for 循环 (JS) 从 JSON 提要填充表单字段
【发布时间】:2021-10-17 21:03:27
【问题描述】:

我有这样的表单域

<input id="first">
<input id="second">
<textarea id="third"></textarea>
...

我需要使用来自 JSON 提要的数据动态填充它们。 每个字段的 id 对应于每个 JSON 的键,所以我可以通过这种方式填充这些字段:

first.value = feed.first;
second.value = feed.second;
third.value = feed.third;
...

但我想让它更简单。

这是我尝试过的:

["first", "second", "third"].forEach(e => {e.value = feed[e]});

很遗憾,它不起作用。在控制台中,我可以看到 JSON 提要的值 (feed[e]),但表单字段为空白。

我做错了什么?

任何建议将不胜感激。

【问题讨论】:

    标签: javascript forms for-loop foreach


    【解决方案1】:

    您可以尝试使用 document.getElementById 来获取特定的 DOM 元素
    然后分配你想要的值。

    const feed = {
        'first': 'hello',
        'second': 'word',
        'third': '!'
    };
    
    ['first', 'second', 'third'].forEach(e => {
        document.getElementById(e).value = feed[e]
    });
    

    下面的链接是一个完整的演示。
    https://jsfiddle.net/2x0o8d4m/1/

    【讨论】:

      【解决方案2】:

      请使用 eval 函数。

      [“第一”、“第二”、“第三”].forEach(e => {eval(e).value = feed[e]});

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多