-2

我正在尝试通过 $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 的新手,所以请保持温柔,非常感谢任何帮助。谢谢你。

4

3 回答 3

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>
于 2013-08-20T16:10:51.097 回答
-2

检查您的 $row['id'] 是否返回某些内容。

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

或检查您的源代码。您的代码可能看起来像

<script type="text/javascript">
  function showDiv() {
    var note = "";
    document.getElementById("").style.display = "inline";
  }
</script>
于 2013-08-20T16:05:21.463 回答
-2

假设:$post = $row['id']有一个值。你想要var note一个字符串的值。JS 将字符串用单引号或双引号括起来。<?php echo $post ?>所以用这样的字符串包装:

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

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

于 2013-08-20T16:22:55.883 回答