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

时间:2018-08-08 20:59:04

标签: 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>
}

此代码表示从数组中删除1个元素。

我的Javascript中的代码如下:

function minItem(item) 
{               
    var minus = item;

    $.ajax({ 
    type: "POST", 
    url: "testing.php", 
    data: {'minus': minus},
    success: function(result){ 
      $("#cart_overview").html(result);
    }
  });
}

对于数组中的某些元素,这是可行的,例如例如$item = 122。但是当$item = R323时,似乎没有调用AJAX函数。

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

2 个答案:

答案 0 :(得分:0)

由于onclick调用可以容纳字符串,因此您需要用引号将传递的参数包装起来,例如:

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

答案 1 :(得分:0)

您的a标记需要一个href属性,并且如果参数是字符串,则需要引用作为参数传递给minItem的任何变量-也许像这样:< / p>

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 );
}