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

时间:2013-08-20 15:47:11

标签: 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; ?>").style.display = "inline";      
  }
</script>

<?php 
  $addnote = '<input type="button" value="addnote" onclick="showDiv()"><div id="'.$postid.'"  style="display:none;" class="'.$postid.'"> WELCOME</div>';

但是,如果我将$post更改为具有html值,例如

$post = '11';

然后这段代码就可以了。

我是javascript的新手所以请温柔, 任何帮助是极大的赞赏。 谢谢。

3 个答案:

答案 0 :(得分:0)

如果你处于循环中,我认为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>

答案 1 :(得分:-2)

检查你的$ row ['id'],如果它正在返回一些东西。

<?php echo $row['id']; ?>

或检查您的源代码。 您的代码可能类似于

<script type="text/javascript">
  function showDiv() {
    var note = "";
    document.getElementById("").style.display = "inline";
  }
</script>

答案 2 :(得分:-2)

假设:$post = $row['id']有一个值。您希望var note具有字符串的值。 JS用单引号或双引号包装字符串。所以将<?php echo $post ?>包装在这样的字符串中:

var note = "'"+<?php echo $post ?>"'";

这将在$ post值周围添加和附加引号,以便JS可以将其识别为字符串。