1

我正在通过 onclick 事件向函数发送数据,但我无法获取字符串值,我只是获取整数值,它表示未定义“值” 。问题是什么。

我的代码是:

<a href="javascript:void(0)" 
   onclick="begin(<?php echo $data['user_id'];?>,
   <?php echo $data['name'];?>);">       

这是我的功能:

function begin(id,name)
{
    alert(id);
    alert(name);
}

我没有得到名称值,如果我传递硬编码字符串,那么它也没有到达这里,只有整数可以访问。

4

2 回答 2

3

您需要将参数括在引号中以使其成为字符串。

<a href="javascript:void(0)" onclick="begin('<?php echo $data['user_id'];?>','<?php echo $data['name'];?>');">
于 2013-03-08T19:19:11.227 回答
2

正如马特所说,没有引号就不会被识别。

也就是说,我不认为他的回答是正确的。我更喜欢这段代码:(为易读添加了空格)

<a href="javascript:void(0);" onclick="begin(
    <?php echo htmlspecialchars(json_encode($data['user_id'])); ?>,
    <?php echo htmlspecialchars(json_encode($data['name'])); ?>
);">

json_encode(docs)非常适合将任何 PHP 变量(资源除外)传递给 JavaScript。在这种情况下,它将在字符串周围添加引号,并根据需要使用反斜杠转义字符。由于它在属性中,因此您需要htmlspecialchars将符号转换为可安全插入。

于 2013-03-08T19:28:47.710 回答