将动态PHP变量转换为Javascript函数
我试图通过$post;在mysql查询中创建的变量,用于javascript函数showDiv。 目前这不起作用将动态PHP变量转换为Javascript函数,php,javascript,function,variables,Php,Javascript,Function,Variables,我试图通过$post;在mysql查询中创建的变量,用于javascript函数showDiv。 目前这不起作用 $post = $row['id']; ?> <script type="text/javascript"> function showDiv() { var note = "<?php echo $post ?>"; document.getElementById("<?php echo $post; ?>").
$post = $row['id'];
?>
<script type="text/javascript">
function showDiv() {
var note = "<?php echo $post ?>";
document.getElementById("<?php echo $post; ?>").style.display = "inline";
}
</script>
<?php
$addnote = '<input type="button" value="addnote" onclick="showDiv()"><div id="'.$postid.'" style="display:none;" class="'.$postid.'"> WELCOME</div>';
那么这个代码就行了
我是javascript新手,所以请温柔一点,
非常感谢您的帮助。
谢谢。检查您的$row['id']是否有返回内容
<?php echo $row['id']; ?>
或者检查您的源代码。
您的代码可能看起来像
<script type="text/javascript">
function showDiv() {
var note = "";
document.getElementById("").style.display = "inline";
}
</script>
如果您处于循环中,我认为JS不喜欢重新声明函数showDiv。试试这个:
$post = $row['id'];
$addnote = '<input type="button" value="addnote" onclick="showDiv('.$post.')"><div id="'.$post.'" style="display:none;" class="'.$post.'"> WELCOME</div>';
javascript不在循环中:
<script type="text/javascript">
function showDiv(note) {
document.getElementById(note).style.display = "inline";
}
</script>
假设:$post=$row['id']有一个值。您希望var note具有字符串的值。JS将字符串用单引号或双引号括起来。用这样的字符串包装:
var note = "'"+<?php echo $post ?>"'";
这将在$post值的前面加上引号,以便JS可以将其识别为字符串。使用$post=$row['id'];$post等于什么;?可能是因为它无法从数据库中找到行id吗?var_dump$row['id']显示了什么?如果要输出Javascript,最好是查看脚本打印的实际Javascript。BeatAlex和Mike Brant暗示的是,您的变量要么是空的,要么包含一些打断javascript字符串的值。只有一次机会将PHP变量加载到JS中,那就是运行PHP时的页面加载。如果该值在此之后发生变化,则需要使用AJAX?$post和$postid之间有什么区别吗?此外,如果可能的话,避免使用数字ID。已经做出了类似的决定。
var note = "'"+<?php echo $post ?>"'";