JavaScript 将字符串和整数从 PHP 传递到函数中

标签 javascript php ajax

我试图将字符串和整数传递到同一个函数中,但是我对引号有疑问。我发现错误出在 echo $q->info 部分,我必须在此代码上使用双引号。

有人可以帮我写这个$q->info,但要获得真正的值(value)而不是$q->info吗?

到目前为止我的代码是

<td><a href="javascript:add(<?php echo $q->info?>,<?php echo $q->id?>)">Edit</a></td>

和js函数

function add(var,var2)

有人可以帮我解决这个问题吗?

最佳答案

您有一个 PHP 变量。要将其转换为 JavaScript 文字的字符串表示形式,请使用 json_encode。要安全地插入 HTML 属性值,请使用 htmlspecialchars

<td><a href="javascript:add(<?php echo htmlspecialchars(json_encode($q->info)); ?>,<?php echo htmlspecialchars(json_encode($q->id)); ?>)">Edit</a></td>

也就是说,编写代码时最好遵循 Progressive Enhancement 的原则。和Unobtrusive JavaScript .

<td>
    <form action="edit" method="post">
        <input type="hidden" name="info" value="<?php echo htmlspecialchars($q->info); ?>">
        <input type="hidden" name="id" value="<?php echo htmlspecialchars($q->id); ?>">
        <input type="submit" value="edit">
    </form>
</td>

然后是这样的:

document.querySelector('form').addEventListener("submit", function (evt) {
    evt.preventDefault();
    add(this.elements.info.value, this.elements.id.value);
});

关于JavaScript 将字符串和整数从 PHP 传递到函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26087527/

相关文章:

php - 在 Fat-Free-Framework .ini 文件中使用 HTML

jquery - 如何使用 jQuery AJAX 读取发布到经典 ASP 的数据

javascript - 如何使用 SVG 更改鼠标悬停时的图像源?

javascript - Select2 下拉菜单允许用户在用户键入时输入新值

php - 大苏尔并安装 msodbcsql17

php - Laravel 获取订单位置

javascript - Ajax 请求包含 JSON - 就绪状态 4,状态 0

javascript - 从 PHP 脚本返回 JSON 对象

javascript - Angular 2 - 找不到服务 worker - 错误的 HTTP 响应代码 (404)

javascript - 从 Angular Controller 访问 Rails 环境变量