传递php字符串作为php脚本中调用的javascript函数的参数

Pass php string as parameter for javascript function called in php script

本文关键字:php javascript 参数 调用 函数 脚本 字符串 传递      更新时间:2023-09-26

所以我有一系列单选按钮,它们是由php脚本生成的,当点击时会调用javascript函数:

<?php
    $databases = mysqli_query($link, "SHOW DATABASES");
    while($row = mysqli_fetch_row($databases)) {
        $db = $row[0];
        echo "<input type='radio' name='database' id='".$db."' onclick='displaydbcontent(".$db.")'>";     
    }
?>

javascript函数必须提醒字符串的内容:

function displaydbcontent(dbid) {
    alert("This is a test");
    alert(dbid);
}

现在,无论变量$db的内容是什么,在显示第一个打印"This is a test"的警报后,第二个总是打印"[object HTMLInputElement]"。

我很确定这都是引号的问题,但我看不出有任何方法可以解决

对于那些想知道它甚至认为它与我的问题没有太大关系的人来说,$link变量已经初始化并正常工作。

this.id作为参数传递,该参数将返回clicked-elementid属性

onclick='displaydbcontent(this.id)'>"; 

当您将$db作为参数传递时,它表示元素。具有id的元素成为全局变量。

function callMe(elem) {
  console.log(elem);
}
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<div id='elem' onclick='callMe(elem)'>Hello!!!!!</div>

编辑:echo '<input type="radio" name="database" id="'.$db.'" onclick="displaydbcontent(''$db'')">';