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

时间:2019-04-25 17:36:12

标签: javascript jquery model-view-controller syntax-error

我正在尝试动态创建行,单击该行会为相关行加载视图。我的代码(使用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.

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

2 个答案:

答案 0 :(得分:2)

您不应该使用attr()附加事件。您想要做的就是单击他们时链接?因此,您需要设置页面位置。

row.on('click', function () {
  window.location.href = action
});

答案 1 :(得分:1)

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