未捕获的ReferenceError JavaScript

时间:2012-09-10 05:47:22

标签: javascript jquery asp.net

好的,所以我有一个模板,用于将几个用户打印到表格中。

function PrintUsers(item) {
    $.template('userList', '<tr onClick="OnUserPressed(${Identifier})">\
    <td>${Firstname}</td>\
    <td>${Lastname}</td>\
    </tr>');

    $.tmpl('userList', item).appendTo("#UserTableContainer");
}

当我按下用户时,我想将他/她的唯一标识符传递给我在模板中声明的名为OnUserPressed的函数。下面的代码只是一个测试,看看它是否实际将数据传递给函数。

    function OnUserPressed(Identifier) {
        alert(Identifier);
    }

我的问题是:当我按下表格中的第一个值时,我得到“Uncaught SyntaxError:Unexpected token ILLEGAL”。当我按下表中的任何其他值时,我得到“Uncaught ReferenceError:xxx not defined”,其中xxx是它们的唯一标识符。所以它实际上检索了ID,但我仍然收到错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可能需要将标识符作为字符串传递给OnUserPressed函数。

尝试使用单引号包装${Identifier}模板变量:

<tr onClick="OnUserPressed('${Identifier}')">

编辑:回复有关单引号的评论。

在模板字符串中,您可以通过在它们前面加上反斜杠来转义单引号:

'<tr onClick="OnUserPressed(\'${Identifier}\')">'