当OnClick在DIV上,无法将字符串从PHP传递到JavaScript,并且无法将参数化链接作为InnerHTML



我想在单击另一个div中的不同文本时加载文件。我有5分。而且我还需要在所有DIV中修复一些默认内容。单击另一个Div的文本时,DIV应覆盖并调用文件。当我单击左DIV中的文本时,我可以在两个不同的文件中调用两个文件。但是,当我尝试将字符串从PHP传递到JavaScript时,我将无法做到这一点。我想将链接参数化指向不同的文本。我该如何实现?如果我尝试为其分配一个PHP变量,则没有任何输出。预先感谢。

 <html>
<head>
    <title>A div layout</title>
</head>
<body>
    <script>
            function load_home(link){
                document.write(link);
                var project="<?php echo $name; ?>";
                var table_link='table_'+link+'.php';
                var graph_link='graph_'+link+'.php';

                document.getElementById("tables").innerHTML='<object type="type/html" data="table_link" height=100% width=100%></object>';
                document.getElementById("graph").innerHTML='<object type="type/html" data="graph_link" height=100% width=100%></object>';
            }
    </script>
    <div id="header" style="width: 100%; height:7%; background-color: green; color: white;">Merahkee Tech Solutions
    </div>
    <div id="tree" style="width: 20%; height:88%; background-color: pink; color: white; float:left">
    <?php
    $name="customer";
        echo '<nav>
          <ul>
            <li><a href ="#" onclick="load_home('.$name.')">Pebble</a></li>
            <li><a href ="#" onclick="load_home()">Jenkins</a></li>
            <li><a href ="#" onclick="load_home()">Tomcat</a></li>
            <li><a href ="#" onclick="load_home()">Jira</a> </li>
          </ul>
        </nav>'
    ?>
    </div>
    <div id="tables" style="width: 80%; height:35%; background-color: skyblue; color: white; float:left">This is default content
    </div>
    <div id="graph" style="width: 70%; height:53%; background-color: lightblue; color: white; float:left">This is trial graph div
    </div>
    <div id="dropdown" style="width: 10%; height:53%; background-color: pink; color: white; float:left">This is trial dropdown div
    </div>
    <div id="footer" style="width: 100%; height:5%; background-color: green; color: white; float:left">This is a footer div
    </div>

</body>

现在,一旦我单击第一个div中的文字

,我将什么都没有得到

将字符串传递到JavaScript函数时,您需要将字符串放入'或"所以你而不是:

echo '<nav>
          <ul>
            <li><a href ="#" onclick="load_home('.$name.')">Pebble</a></li>
            <li><a href ="#" onclick="load_home()">Jenkins</a></li>
            <li><a href ="#" onclick="load_home()">Tomcat</a></li>
            <li><a href ="#" onclick="load_home()">Jira</a> </li>
          </ul>
        </nav>';

你做:

echo "<nav>
          <ul>
            <li><a href ="#" onclick="load_home('{$name}')">Pebble</a></li>
            <li><a href ="#" onclick="load_home()">Jenkins</a></li>
            <li><a href ="#" onclick="load_home()">Tomcat</a></li>
            <li><a href ="#" onclick="load_home()">Jira</a> </li>
          </ul>
        </nav>";

并将您的脚本放在身体的末端

<html>
<head>
    <title>A div layout</title>
    <script type="text/javascript">
        function load_home(link) {
            document.write(link);
            var project=link;
            var table_link='table_'+link+'.php';
            var graph_link='graph_'+link+'.php';

            document.getElementById("tables").innerHTML='<object type="type/html" data="table_link" height=100% width=100%></object>';
            document.getElementById("graph").innerHTML='<object type="type/html" data="graph_link" height=100% width=100%></object>';
        }
    </script>
</head>
<body>
    <div id="header" style="width: 100%; height:7%; background-color: green; color: white;">
        Merahkee Tech Solutions
    </div>
    <div id="tree" style="width: 20%; height:88%; background-color: pink; color: white; float:left">
        <?php $name = "customer"; ?>
        <nav>
            <ul>
                <li><a href ="#" onclick="load_home('<?php echo $name ?>');">Pebble</a></li>
                <li><a href ="#" onclick="load_home('<?php echo $name ?>');">Jenkins</a></li>
                <li><a href ="#" onclick="load_home('<?php echo $name ?>');">Tomcat</a></li>
                <li><a href ="#" onclick="load_home('<?php echo $name ?>');">Jira</a></li>
            </ul>
        </nav>
    </div>
    <div id="tables" style="width: 80%; height:35%; background-color: skyblue; color: white; float:left">
        This is default content
    </div>
    <div id="graph" style="width: 70%; height:53%; background-color: lightblue; color: white; float:left">
        This is trial graph div
    </div>
    <div id="dropdown" style="width: 10%; height:53%; background-color: pink; color: white; float:left">
        This is trial dropdown div
    </div>
    <div id="footer" style="width: 100%; height:5%; background-color: green; color: white; float:left">
        This is a footer div
    </div>
</body>
</html>

在您的片段中,我看到单语言/双引号问题,尝试粘贴整个片段。

<li><a href ="#" onclick="load_home('<?php echo $name ?>');">Pebble</a></li>

请参阅' <?php echo $name; ?> '围绕PHP变量的单引号正在回声。

最新更新