Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将动态PHP变量转换为Javascript函数_Php_Javascript_Function_Variables - Fatal编程技术网

将动态PHP变量转换为Javascript函数

将动态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;在mysql查询中创建的变量,用于javascript函数showDiv。 目前这不起作用

$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 ?>"'";