SyntaxError:在Firebug中,标识符在数字文本之后立即开始
SyntaxError: identifier starts immediately after numeric literal in Firebug
当我调用以下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"操作只是对我的数据库的更新,在那里我从聊天用户表中删除了该用户
如果我将$rowUsers['id_user']更改为$rowUsers['userName'],则错误将更改为:ReferenceError:未定义"userName"(我只是为了这个例子而将用户的真实姓名更改为"userName")。
JavaScript中的标识符不能以数字开头;它们必须以字母$
或_
开头。
我猜它来自这个:
onclick="kick_user('.$rowUsers['id_user'].')">Kick</a>
如果你想传递一个字符串,那么你需要引用传递的值。
onclick="kick_user('"'.$rowUsers['id_user'].''")">Kick</a>
我不懂PHP,所以也许你需要不同的转义,但这应该会给你一些想法。
生成的JavaScript代码将是
kickUser(userName)
…并且显然不存在js变量userName
。你想传递一个字符串:
kickUser('userName');
因此,在输出中添加引号/撇号,不要忘记正确转义$rowUsers['userName']
。$rowUsers['id_user']
也是如此,它似乎输出了一个无效的标识符。
相关文章:
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- 如何使文本自动出现在HTML页面中的所有块引号之后
- 使文本在它之后再次可见'It’s被一个按钮隐藏了
- 将文本追加到之后特定行的文本区域
- CKEditor - 插入文本在 setData 之后不起作用
- 从字符串中删除-之后的一些文本
- 文本在jQuery中仅位于第一行之后的行的中心
- 匹配最后一个点之后的文本字符串
- Qualtrics:在矩阵表中的文本框之前/之后添加不同的字符
- 获取第二个文本区域之后的下一个所有输入
- 如何使用原型.js在文本块之后插入内容
- 单击语法错误:标识符在数字文本之后立即开始
- 正则表达式在文本中查找匹配项,而不是在单词之后
- eval 语法错误:标识符在数字文本之后立即开始
- Javascript在关键字之后剪切文本
- 在输入数组的 split() 和子字符串 () 之后的文本区域中显示
- 如何在文本的每 5,000 个字符之后的第一个
或
之后插入一个 - 语法错误:标识符在数字文本 asp.net 之后立即开始
- Node.js:在文本文件中的特定行之后插入一行
- 在移动web应用程序中初始化iScroll之后..文本框不可编辑