Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获引用错误:未在HTMLTableRowElement.onclick上定义x_Javascript_Jquery - Fatal编程技术网

Javascript 未捕获引用错误:未在HTMLTableRowElement.onclick上定义x

Javascript 未捕获引用错误:未在HTMLTableRowElement.onclick上定义x,javascript,jquery,Javascript,Jquery,我四处寻找解决方案,但我可能只是错过了一些非常明显的东西,因为它们无法解决我的问题。我根本不是JS高手,只是一个免责声明 我有一个ASP项目,JavaScript有时会调用一些C代码。我用以下代码开始我的代码: window.onload = function () { LiveSearch(); getCredentials(); getAllUsers(); getIsAdmin(); }; 所有这些函数都工作得很好。但是有趣的是getAllUsers(),

我四处寻找解决方案,但我可能只是错过了一些非常明显的东西,因为它们无法解决我的问题。我根本不是JS高手,只是一个免责声明

我有一个ASP项目,JavaScript有时会调用一些C代码。我用以下代码开始我的代码:

window.onload = function () {
    LiveSearch();
    getCredentials();
    getAllUsers();
    getIsAdmin();
};
所有这些函数都工作得很好。但是有趣的是getAllUsers(),因为它通过AJAX调用与后端联系,以获取一些数据来填充表

function getAllUsers() {
    var result_body = "";
    $.ajax({
        type: 'GET',
        url: '/Home/GetAllUsers',
        dataType: 'json',
        cache: false,
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(""),
        success: function (users) {
            PushToScope("users", users);
            var dict = scope[2];
            if (dict.key.length > 0) {
                for (var key in dict.value) {
                    result_body += '<tr onclick="getClickedUserObject(' + dict["value"][key].Initials + ')\">';
                    result_body += '<td class=\"col-xs-4\">' + dict["value"][key].Name + '</td>'
                    result_body += '<td class=\"col-xs-4\">' + dict["value"][key].Title + '</td>'
                    result_body += '<td class=\"col-xs-4\">' + dict["value"][key].Department + '</td>'
                    result_body += '<td style=\"display: none\">' + dict["value"][key].PrivatePhone + '</td>'
                    result_body += '<td style=\"display: none\">' + dict["value"][key].WorkEmail + '</td>'
                    result_body += '<td style=\"display: none\">' + dict["value"][key].WorkPhoneLandline + '</td>'
                    result_body += '<td style=\"display: none\">' + dict["value"][key].WorkPhoneMobile + '</td>'
                    result_body += '</tr>';
                }
            } else {
                result_body += '<tr>';
                result_body += '<td style=\"col-xs-12\"><b>No Data. Try again, or Contact IT Support.</b></td>';
                result_body += '</tr>';
            }
            $('#result-table').html(result_body);
        }
    });
}
函数getAllUsers(){ var结果_body=“”; $.ajax({ 键入:“GET”, url:“/Home/GetAllUsers”, 数据类型:“json”, cache:false, contentType:'application/json;charset=utf-8', 数据:JSON.stringify(“”), 成功:功能(用户){ 推送镜(“用户”,用户); var dict=范围[2]; 如果(dict.key.length>0){ for(dict.value中的var键){ 结果_body+=''; 结果\u body+=''+dict[“value”][key].Name+'' 结果\u body+=''+dict[“value”][key]。Title+'' 结果\u body+=''+dict[“value”][key]。部门+'' 结果_body+=''+dict[“value”][key]。私人电话+'' 结果\u body+=''+dict[“value”][key]。工作电子邮件+'' 结果\u body+=''+dict[“value”][key]。WorkPhoneLandline+'' 结果\u body+=''+dict[“value”][key]。WorkPhoneMobile+'' 结果_body+=''; } }否则{ 结果_body+=''; 结果_body+=“无数据。请重试,或与IT支持部门联系。”; 结果_body+=''; } $(“#结果表”).html(结果体); } }); } 正如我所说,上面的方法是有效的,但是当我单击表中的一个元素时,问题就出现了。下面的“getClickedUserObject()”:

函数getClickedUserObject(字母代码){
如果(字母代码!=未定义){
var用户=范围[2];
var user=用户[“值”][字母代码];
$('#结果标题').html(user.title);
$('#结果名').html(user.name);
$(“#结果部门”).html(user.department);
$(“#结果电子邮件”).html(“”);
$('#result work mobile').html(user.WorkPhoneMobile);
$('#result work landline').html(user.WorkPhoneLandline);
$('#result private mobile').html(user.PrivatePhone);
如果(lettercode==范围[0]){
$(“#HidePrivate”).show();
$(“#HidePrivate”).disabled=false;
$(“#HidePrivate”).checked=user.hiddenprovatephone;
}否则{
$(“#HidePrivate”).hide();
$(“#HidePrivate”).disabled=true;
}
}
返回false;
}
这个函数从不启动,相反,我在标题中得到了错误,表示单击一行得到的任何字母代码都没有定义。这对我来说很奇怪,因为在Google Chrome inspector中我看到:


那么给出了什么呢?

我不熟悉你的函数,但可能参数应该是字符串?看起来函数调用中没有任何引号

像这样:

result_body += '<tr onclick=\"getClickedUserObject(\'' + dict["value"][key].Initials + '\')\">';
result_body+='';

是的,这就是问题所在。我不知道你到底投了什么票。谢谢如果您试图访问一个不存在的对象的属性,而没有工作示例,我真的帮不了什么忙,它可能是
用户之一。*
,您可以注释掉整个块,然后逐行删除注释,看看它在哪一点断开M.D已经指出了问题。
result_body += '<tr onclick=\"getClickedUserObject(\'' + dict["value"][key].Initials + '\')\">';