javascript - 无法在 HTML onclick 的参数中传递 php 变量
问题描述
我试图在 onclick 的参数中传递超过 1 个 php 变量。
<button type="button" class="btn btn-dark bmd-btn-fab bmd-btn-fab-sm"
onclick="<?php echo 'analyse(\'' . $name . '\', \''. $type .'\')'; ?>">
<img src="../assets/add.png" />
</button>
对于仅 1 个参数,它与此一起使用:
onclick=<?php echo "analyse('$name')"; ?>"
和这个:
onclick="<?php echo 'analyse(\'' . $name . '\')'; ?>"
解决方案
我会将其作为评论,但评论中的占位符文本表示不要在评论中添加答案......
首先,analyse
必须是 JS 函数,而不是 PHP 函数。另外,您不需要放在analyse
代码<?php
块内。
<button onclick="analyse('<?php echo $name ?>', '<?php echo $type ?>')">
完整的演示 PHP 文件:
<?php
$name = "John Smith";
$type = "Best Type"
?>
<div>
<button onclick="analyze('<?php echo $name ?>', '<?php echo $type ?>')">Show Name</button>
<p id="results"></p>
</div>
<script>
function analyze(name, type) {
document.getElementById("results").innerHTML = "<b>NAME:</b> " + name + " <b>TYPE:</b> " + type;
}
</script>
详细地说,以防万一您想使用 PHP 函数返回名称或类型,您可以像这样使用它:
<?php
$name = "John Smith";
$type = "Best Type";
function get_Name($nameToGet) {
return $nameToGet;
}
function get_Type($typeToGet) {
return $typeToGet;
}
?>
<div>
<button onclick="analyze('<?php echo get_Name($name) ?>', '<?php echo get_Type($type) ?>')">Show Name</button>
<p id="results"></p>
</div>
<script>
function analyze(name, type) {
document.getElementById("results").innerHTML = "<b>NAME:</b> " + name + " <b>TYPE:</b> " + type;
}
</script>
推荐阅读
- react-native - 有一种方法可以在输入 Native Base 之上“提升”标签
- flutter - 在颤振中使用 bloc 模式时的建议
- mule - 我们如何在不使用邮递员的情况下在 mule 应用程序中动态生成 oauth2.0 令牌?
- javascript - 来自 CodePen 的完全相同的代码不起作用 - MDC 未定义错误
- assembly - 为什么我收到访问冲突异常?
- sql-server - UPDATE SET REPLACE 函数 SQL
- html - 提交后如何在输入中留下文本搜索
- ruby - 为什么登录 Rails 应用程序后无法加载徽标?
- spring - TypeNotPresentExceptionProxy 同时将 Spring Boot 启动器父级从 2.1.8 升级到 2.2.1
- c++ - 没有构造函数 Model::Model 的实例与参数列表匹配