当我调用这个javascript函数时,我收到了这个错误:
function kickUser(id_userChat){
$.post("chatFuncs.php", { action: "kick", id_user: id_userChat });
}
这个“kickUser”功能是为连接到我的聊天框的每个用户生成的,如下所示
$listUsers .= '<img src="imgUsers/'.$DBClass->nomImg($rowUsers['id_user'],$posImg).'" height="'.$heightImg.'" width="'.$widhImg.'"/>
<span class="styleMsg">'.$rowUser['nameUser'].'</span>
<a href="#" class="BtnKick" onClick="kickUser('.$rowUsers['id_user'].')">Kick</a></br>';
并且“kick”操作只是对我的数据库的更新,我从chatUsers表中删除了用户
如果我为$ rowUsers ['userName']更改$ rowUsers ['id_user'],则错误更改为: ReferenceError:'userName'未定义(我为此示例更改了'userName'用户的真实姓名)。
答案 0 :(得分:16)
JavaScript中的标识符不能以数字开头。它们必须以字母$
或_
开头。
我猜它来自这个:
onClick="kickUser('.$rowUsers['id_user'].')">Kick</a>
如果你想传递一个字符串,那么你需要引用传递的值。
// ----------------v-------------------------v
onClick="kickUser(\"'.$rowUsers['id_user'].'\")">Kick</a>
我不知道PHP,所以也许你需要不同的转义,但这就是这个想法。
答案 1 :(得分:1)
生成的JavaScript代码将是
kickUser(userName)
...显然没有js变量userName
。您想要传递一个字符串:
kickUser('userName');
所以将引号/撇号添加到输出中,并且不要忘记正确地转义$rowUsers['userName']
。它对于$rowUsers['id_user']
来说是完全相同的,它似乎甚至输出了无效的标识符。