Javascript 为什么我的PHP AJAX onclick函数不总是触发?

Javascript 为什么我的PHP AJAX onclick函数不总是触发?,javascript,php,html,ajax,onclick,Javascript,Php,Html,Ajax,Onclick,PHP AJAX中的HTML元素onclick函数有问题 foreach(array_unique($_SESSION["items"]) as $item) { echo '<a onclick="minItem('. $item .');" class="btn btn-outline-success my-2 my-sm-0 ">-</a> } 对于数组中的某些元素,这是有效的,例如当$item=122时。但是当$item=R323时,AJAX函数似乎

PHP AJAX中的HTML元素
onclick
函数有问题

foreach(array_unique($_SESSION["items"]) as $item) {

     echo '<a onclick="minItem('. $item .');" class="btn btn-outline-success my-2 my-sm-0 ">-</a>
}
对于数组中的某些元素,这是有效的,例如当
$item=122
时。但是当
$item=R323
时,AJAX函数似乎没有被调用


我一直在寻找解决方案,但找不到任何解决方案。非常感谢所有帮助。

因为onclick调用可能包含字符串,您需要用引号将传递的参数括起来,例如:

 echo "<a onclick='minItem(\"$item\");' class='btn btn-outline-success my-2 my-sm-0 '>-</a>";
echo“-”;

您的
a
标记需要一个
href
属性,如果参数是字符串,您需要引用传递给
minItem
的任何变量作为参数-可能类似于以下内容:

foreach( array_unique( $_SESSION["items"] ) as $item ) {
    printf('<a href="#" class="btn btn-outline-success my-2 my-sm-0" onclick="minItem(\'%s\')">-</a>', $item );
}
foreach(数组\u唯一($\u会话[“项”])作为$item){
printf(“”,$item);
}

如果变量是字符串,则需要引用该变量-即
cho'字符串似乎是问题所在,如果变量是数字
javascript_函数(111)
将起作用,但
R323
是字符串,则
javascript_函数(R323)
不应起作用,并且为JS函数生成值的方式将是这样写的,我建议您将所有值始终放在简单引号之间
”@FranciscoHahn谢谢您的建议,您的代码给了我一个错误:解析错误:语法错误,意外“$item”。(T_常量_ENCAPSED_字符串),应为“,”或“;”我在手机上写道,给你的答案应该能做到:-)太好了-祝我其余的人好运,谢谢你的回复。它给了我一个错误:无效或意外标记第一个解决方案将无法工作。HTML不理解属性中的转义引号。是的,对@Barmar,第二个应该可以工作。。。(更新)
foreach( array_unique( $_SESSION["items"] ) as $item ) {
    printf('<a href="#" class="btn btn-outline-success my-2 my-sm-0" onclick="minItem(\'%s\')">-</a>', $item );
}