无效的属性ID

时间:2012-05-27 12:18:09

标签: php javascript json

当我在javascript函数中插入数组时,我有一个问题,当我在javascript错误控制台中单击链接时写下:无效的属性ID。那是我的代码:

<a href="javascript:;" onclick="test(<?php echo json_encode($myArray); ?>)">test</a>

有人能告诉我如何解决这个问题吗?

测试功能:

function (arr) {
    var jArray = arr;
    for (var i = 0; i < 4; i++) {
        document.write(jArray[i]['message'] + "<br/>");
    }
}

1 个答案:

答案 0 :(得分:0)

$myArray是否包含字符串数据?如果是这样,json_encode函数虽然不是上下文敏感的,但会打印双引号,结束onclick属性值。 您可以使用单引号而不是onclick值的double或(更好的解决方案)使用PHP函数htmlspecialchars来修复它。

<a href="javascript:;" onclick="test(<?php echo htmlspecialchars(json_encode($myArray)); ?>)">test</a>