未捕获的 SyntaxError:无效的正则表达式标志 -- 这是怎么回事?

Uncaught SyntaxError: Invalid regular expression flags -- what is going on?

提问人:Sean Smyth 提问时间:4/26/2019 更新时间:4/26/2019 访问量:3090

问:

我正在尝试动态创建行,当单击时加载关联行的视图。我的代码(在 javascript 和 jquery 中)如下

    var row = $('<tr />');
    var action = '@Url.Action("Get", "myController", new { myID = "__param__" })';
    action = action.replace('__param__', rowData.myID)
    row.attr('onclick', action);

    $("#ListTable > tbody").append(row);

创建的行如下所示

<tr onclick="/myControler/Get?myID=113066"><td width="20%">12345</td><td width="80%">Test Text</td></tr>

但是,当我单击该行时,出现错误:

Uncaught SyntaxError: Invalid regular expression flags.

我不知道我在这里做错了什么,因为一切看起来都很好。任何帮助将不胜感激。

javascript jquery 模型视图控制器 语法错误

评论

1赞 epascarello 4/26/2019
因为 onclick 需要一个语句

答:

2赞 epascarello 4/26/2019 #1

不应用于附加事件。你想做的是在他们点击时做一个链接?因此,您需要设置页面位置。attr()

row.on('click', function () {
  window.location.href = action
});
1赞 Todd Chaffee 4/26/2019 #2

您的属性必须包含 JavaScript。在 JavaScript 中,以斜杠开头和结尾的表达式(如)是正则表达式。onclick/myControler/