这是我的php代码:
<div class="box-body" id="chosen-tags">
<?php
$cnt = 1;
for($cnt=1;$cnt<=20;$cnt++){
echo "<a id='abcd$cnt' style='float:left;'>abcd".$cnt." </a>";
}
?>
</div>
<div class="box-body" id="tags-toggle-content" style="display: none">
<?php
$cnt = 1;
for($cnt=1;$cnt<=20;$cnt++){
$idd = "abcd".$cnt;
echo "<a id='abc$cnt' style='float:left' onclick='add_tagss($idd)'>abc".$cnt." </a>";
}
?>
</div>
这是我的Javascript代码:
<script type="text/javascript">
function toggle_visibility(id)
{
var f = document.getElementById(id)
if(f.style.display == 'block')
f.style.display = 'none';
else
f.style.display = 'block';
}
function add_tagss()
{
var f = document.getElementById("id");
f.style.display = 'none';
}
</script>
我真的认为我的错误在我的回调函数调用中。是否有关于如何在回声中执行函数调用的规则,例如正确使用单引号和双引号。
答案 0 :(得分:2)
你搞乱单引号和双引号。
每当你认为你搞乱了javascript和PHP时,请打破字符串。
一次性在双引号内回显字符串不是强制性的。
你可以做几个连接来实现同样的目标。
在PHP中编写JavaScript代码时的最佳做法是:
1)查看源代码以确定javascript代码是否已正确编码。当然,查看源代码不会显示AJAX生成的代码。在这种情况下使用Firefox's Inspect Element
。
2)检查javascript函数的参数是否通过单引号正确传递。
3)在Firefox中,如果PHP编写的javascript代码产生了一些错误,请检查console
选项卡。
4)在javascript函数中,使用console.log()
检查是否传递了适当的变量。
一些修改:
更改
echo "<a id='abc$cnt' style='float:left' onclick='add_tagss($idd)'>abc".$cnt." </a>";
要:
echo "<a id='".$idd."' style='float:left'" . "onclick=add_tagss('".$idd."')>abc".$cnt." </a>";
在功能上你没有收到任何参数:
将其更改为:
function add_tagss(id)
{
var f = document.getElementById(id);
f.style.display = 'none';
}
答案 1 :(得分:-1)
您正在调用pa参数化函数,但其定义没有参数,请查找此add_tagss(&#39; param&#39;);
call add_tagss(".$idd."); instead onclick='add_tagss($idd)'
,定义应该接受参数。希望这对你有帮助。
答案 2 :(得分:-1)
试试这个,在第二个用于lop - 你在锚标记中添加函数调用 - 尝试下面的脚本 - 它将成功调用函数:
for($cnt=1;$cnt<=20;$cnt++)
{
$idd = "abcd".$cnt;
echo "<a href='#' id='abc$cnt' style='float:left;' onclick='add_tagss(\"".$idd."\")'>abc".$cnt." </a>";
}
答案 3 :(得分:-1)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title></title>
<script src="../../Scripts/jquery-1.9.1.js" type="text/javascript"></script>
<link href="../../Content/Office.css" rel="stylesheet" type="text/css" />
<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js" type="text/javascript"></script>
<!-- To enable offline debugging using a local reference to Office.js, use: -->
<!-- <script src="../../Scripts/Office/MicrosoftAjax.js" type="text/javascript"></script> -->
<!-- <script src="../../Scripts/Office/1/office.js" type="text/javascript"></script> -->
<link href="../App.css" rel="stylesheet" type="text/css" />
<script src="../App.js" type="text/javascript"></script>
<link href="Home.css" rel="stylesheet" type="text/css" />
<script src="Home.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>