Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的函数调用没有';我不能在回声中工作_Javascript_Php - Fatal编程技术网

Javascript 我的函数调用没有';我不能在回声中工作

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."&nbsp;&nbsp;</a>"; } ?> </div> <div class="box-b

以下是我的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."&nbsp;&nbsp;</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."&nbsp;&nbsp;&nbsp; </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."&nbsp;&nbsp;&nbsp; </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."&nbsp;&nbsp;&nbsp; </a>";

}
for($cnt=1;$cnt


您在这行'echo“abc.$cnt'上有问题变量。剩下的只是个人偏好和/或提高可读性。是的@jeroen,我同意,将所有内容放在一个字符串中没有错。我说过这不是强制性的,但是,它是正确的。用户是新用户,我简化了它以使其舒适。再次感谢您的关注。
echo "<a id='".$idd."' style='float:left'" .  "onclick=add_tagss('".$idd."')>abc".$cnt."&nbsp;&nbsp;&nbsp; </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."&nbsp;&nbsp;&nbsp; </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."&nbsp;&nbsp;</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."&nbsp;&nbsp;&nbsp; </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>