Javascript 我的函数调用没有';我不能在回声中工作
以下是我的php代码:Javascript 我的函数调用没有';我不能在回声中工作,javascript,php,Javascript,Php,以下是我的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-b
<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>
您正在调用pa参数化函数,但其定义没有参数,请查找此add_tags('param')
调用add_tags(“.$idd”);相反,onclick='add\'tagss($idd)
和定义应该接受参数。希望这能对你有所帮助。你把单引号和双引号搞砸了
每当你认为你搞乱了javascript和PHP,就打断这个字符串
一次性回显双引号内的字符串不是强制性的
您可以执行多个串联以实现相同的效果
用PHP编写javascript代码的最佳实践是:
1) 查看源代码以了解javascript代码是否正确编码。当然,view source不会显示AJAX生成的代码。在这种情况下,使用Firefox的Inspect元素
2) 检查javascript函数的参数是否使用单引号正确传递
3) 在Firefox中,如果PHP编写的javascript代码生成了一些错误,请检查控制台选项卡
4) 在javascript函数中,使用console.log()
检查是否传递了正确的变量
一些修改:
改变
echo "<a id='abc$cnt' style='float:left' onclick='add_tagss($idd)'>abc".$cnt." </a>";
在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>";
}
for($cnt=1;$cnt
您在这行'echo“abc.$cnt'上有问题变量。剩下的只是个人偏好和/或提高可读性。是的@jeroen,我同意,将所有内容放在一个字符串中没有错。我说过这不是强制性的,但是,它是正确的。用户是新用户,我简化了它以使其舒适。再次感谢您的关注。
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';
}
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>";
}
<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>
<hr />
<div class="box-body" id="tags-toggle-content" style="display: block">
<?php
$cnt = 1;
for($cnt=1;$cnt<=20;$cnt++)
{
$idd = "abcd".$cnt;
echo "<a id='abcd$cnt' style='float:left' onclick='add_tagss(\"$idd\")'>abc".$cnt." </a>";
}
?>
</div>
<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(idd)
{
var f = document.getElementById(idd);
f.style.display = 'none';
}
</script>