我从控制台和innerHTML得到了不同的结果

时间:2019-07-24 10:11:35

标签: javascript html google-sheets

我创建了一个简单的网站,可以根据用户给出的参数生成一个excel公式。控制台输出工作正常,但是当我用HTML显示输出时,它不起作用。也许换行符将if语句弄乱了。

长话短说,我应该在哪个HTML元素中显示我的代码以从控制台获得相同的结果?

function generate(){
    let col = document.getElementById("col").value.toUpperCase();
    let args = document.getElementById("args").value;
    let argArray = args.split('_');
    let numArgs = argArray.length;

    //String Preparation
    let string = `=ArrayFormula(IF(ISBLANK(FORM!${col}2:${col}), "", IFS(`
    for (let i = 0; i < numArgs; i++){
        string += `FORM!${col}2:${col} = "${argArray[i]}", DB!${col}${i+2}`;
        if (i+1 !== numArgs){
            string += `, `;
        }
    }
    string += `))`

    //Display result
    document.getElementById("result").innerHTML = string;
    console.log(string);
}

1 个答案:

答案 0 :(得分:0)

编辑我认为您的问题与html中的字符转义有关。

使用Underscore library

您可以尝试使用_.escape对该字符串进行转义,然后再将其打印为HTML。

它像var escapedFomula = _.escape("formula")