我正试图传递$ 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的新手所以请温柔, 任何帮助是极大的赞赏。 谢谢。
答案 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可以将其识别为字符串。