首页 > 解决方案 > 尝试通过 onClick() 传递变量时未定义变量

问题描述

我是 Js 新手,所以不知道如何解决这个问题。在使用代码示例 1显示我的宏之后,我$.each希望借助插入宏主体来使用代码示例 2输入文本框,但它会抛出: 奇怪的是,当我作为值传递时,它会很好地传递并将其插入到输入文本框中。 onClick()
Uncaught ReferenceError: body is not definedat HTMLDivElement.onclick
macroId

代码示例 1

function loadMacros() {
$.getJSON("api/Macros/",
    (data) => {
        $.each(data, (key, val) => {
            var macroid = val.macroId;
            var name = val.name;
            var body = val.macroBody;
            var userid = val.userId;
            $(`
                <div class="macrobox" onClick="insertMacroToText(${body})">
                <div id="" style="text-align : left">
                <div>
                <p><b>${name}</b>
                <a class=" glyphicon glyphicon-info-sign" href="Messenger/MacroDetails/${macroid}" ></a>
                <a class=" glyphicon glyphicon-pencil" href="Messenger/EditMacro/${macroid}"></a>
                <a class=" glyphicon glyphicon-minus" onClick="deleteMacro(${macroid})" ></a>      
                </p>
                </div>
                <p style="text-align:left">${body}</p> 
                </div>
                </div>
            `)
            .appendTo($('#macros'));
        });
    });
}


代码示例 2

function insertMacroToText(body) {
    var input = document.getElementById("textInput");
    input.value = body;
}

标签: javascriptjquerycompiler-errors

解决方案


推荐阅读