使用PHP变量在javascript中设置链接名称

时间:2014-08-31 23:34:26

标签: javascript php html

我要做的是加载页面,将PHP变量导入JavaScript,并将我的元素(Link)设置为所述变量。然后,当您点击链接时,我希望它从打开或关闭更改为关闭或打开。出于某种原因,我所看到的其他解决方案似乎并不奏效。以下代码似乎有什么问题?我有点困惑,为什么这不起作用。

<script type="text/javascript">
var state =  "<?php echo $var; ?>";
document.getElementById('open').text = state;
function toggleText(button_id) 
{
   if (document.getElementById('button_id').text == "Open") 
   {
       document.getElementById('button_id').text = "Close";
   }
   else 
   {
     document.getElementById('button_id').text = "Open";
   }
}
</script>
<a id="open" onclick="toggleText('open')" href="#"></a>

非常感谢,这是我项目的最后一站,出于某种原因,无论我尝试什么都不会让它发挥作用。

注意: 我也试过而不是.text .innerHTML而且它也没有用。

4 个答案:

答案 0 :(得分:1)

<script type="text/javascript">
document.getElementById('buttonid').innerHTML = "<?php echo $var; ?>";
function toggleText(button) 
{
   if (button.innerHTML == "Open") 
   {
       button.innerHTML = "Close";
   }
   else 
   {
     button.innerHTML = "Open";
   }
}
</script>
<a id="buttonid" onclick="toggleText(this)" href="#"></a>

</body>代码

之后放置脚本

答案 1 :(得分:1)

你检查过控制台了吗?它始终是开始的地方。

问题的一部分是你用单引号button_id。我假设button_id是变量名,不应该在引号中。此外,您应该使用innerHTML代替text

这应该有效:

<script type=.innerHTML/javascript">
var state =  "<?php echo $var; ?>";
document.getElementById('open').innerHTML = state;
function toggleText(button_id) 
{
   if (document.getElementById(button_id).innerHTML == "Open") 
   {
       document.getElementById(button_id).innerHTML = "Close";
   }
   else 
   {
     document.getElementById(button_id).innerHTML = "Open";
   }
}
</script>
<a id="open" onclick="toggleText('open')" href="#"></a>

答案 2 :(得分:0)

尝试在document.getElementById('open').innerText= state;

上致电window.onload
window.onload=function(){
     document.getElementById('open').innerText= state;
}

当您尝试设置文本属性时,问题可能是dom未就绪(页面未完全加载)

答案 3 :(得分:0)

试试这个:<a id="button_id" onclick="toggleText('open')" href="#">open</a> 并将脚本放在结束</body>标记之前。