所以我有一系列单选按钮,它们是由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-element
的id
属性
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'')">';