首页 > 解决方案 > JS/Electron 将 json 读取到 textarea 并用文本更改覆盖

问题描述

我已经成功读取了json并读取了textarea中的变量,方式如下:

function additem() {
    fs.readFile(path.join(__dirname, 'weekplan.json'), 'utf8', (err, data) => {
        if (err) {
            alert('Could not read file.\n\nDetails:\n' + err.message)
            return
        }
        let json = JSON.parse(data)
        loop(json);

    })
}

async function loop(json) {
    mainWindow.webContents.executeJavaScript(`document.getElementById("mon1").innerHTML = '${json.mon1}'`)
}

在 html 中:

<textarea type="text" id="mon1" readonly="true" onblur="this.readOnly='true';" ondblclick="this.readOnly='';"></textarea>

当它在 textarea 中更改时,如何覆盖 json 中的变量 mon1?

提前致谢。

标签: javascripthtmlnode.jsjsonelectron

解决方案


我通过重新创建 json 并在任何文本更改时更新它来管理它

    const fs = require('fs');
    var textareamon1 = document.getElementById('mon1');
    function updateResult() {
       m1 = textareamon1.value;
       var obj = '{'
             +'"mon1" : '+'"'+m1+'"'+','
             +'}';
       fs.writeFileSync('weekplan.json', obj);
    }
    textareamon1.onkeyup = updateResult;

推荐阅读