[英]Can't pass php variables in parameter in a HTML onclick
I am trying to pass more then 1 php variable in parameter in a onclick.我试图在 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>
For only 1 parameter it worked with this :对于只有 1 个参数,它与此一起使用:
onclick=<?php echo "analyse('$name')"; ?>"
and this:和这个:
onclick="<?php echo 'analyse(\'' . $name . '\')'; ?>"
I would put this as a comment but the placeholder text in comments says to not put answers in comments...我会把它作为评论,但评论中的占位符文本说不要在评论中输入答案......
First, analyse
has to be a JS function, not a PHP function.. Also, you don't need to put analyse
inside of the <?php
code block..首先,
analyse
必须是一个 JS 函数,而不是一个 PHP 函数。此外,您不需要将analyse
放在<?php
代码块中。
<button onclick="analyse('<?php echo $name ?>', '<?php echo $type ?>')">
Full demo PHP file:完整的演示 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>
To elaborate, just in case you wanted to use a PHP function to return a name or type, you would use it like so:详细说明,以防万一您想使用 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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.