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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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/PHP[显示/隐藏]_Php_Javascript_Html_Dom - Fatal编程技术网

JavaScript/PHP[显示/隐藏]

JavaScript/PHP[显示/隐藏],php,javascript,html,dom,Php,Javascript,Html,Dom,我试图弄明白如何使用JavaScript显示/隐藏PHP脚本 JavaScript: <script type="text/javascript"> function showhide(id){ if (document.getElementById){ obj = document.getElementById(id); if (obj.style.display == "none"){ obj.style.display = "";

我试图弄明白如何使用JavaScript显示/隐藏PHP脚本

JavaScript:

<script type="text/javascript">
function showhide(id){ 
    if (document.getElementById){ 
    obj = document.getElementById(id); 
    if (obj.style.display == "none"){ 
    obj.style.display = ""; 
    } else { 
     obj.style.display = "none"; 
    } 
  }
} 
</script>

函数showhide(id){
if(document.getElementById){
obj=document.getElementById(id);
如果(obj.style.display==“无”){
obj.style.display=“”;
}否则{
obj.style.display=“无”;
} 
}
} 
机构代码:

<?php
echo "<a href='javascript:showhide('delivery.php');'>Show/Hide Delivery options</a>";
require "delivery.php" ?>

关于我为什么/如何让它工作的任何想法


感谢您的帮助

我想你要找的是ajax(例如)

我想你要找的是ajax(例如)

JavaScript是客户端,这意味着它是在从服务器下载网站后在你的电脑上执行的

PHP是服务器端的,这意味着它在服务器计算机上执行,然后它向您的PC发送一个纯HTML页面

这就是为什么这是不可能的。您必须使用PHP来实现这一点,使用一些变量。否则,您可以使用javascript/ajax向服务器发送请求,然后服务器将新信息发送回客户端,客户端随后可以更新页面

但在PHP中这样做更好:

if (isset($_GET['some_var'])) {
    switch ($_GET['some_var']) {
        default: case "blah":
                 include("somefile.php"); break;
        case "nyah":
                 include("some_other_file.php"); break;
    }
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
    <input type="text" name="some_var" value="blah"/>
    <input type="submit" value="Go"/>
</form>
<?php
echo "<a href='javascript:showhide('deliveryblock');'>Show/Hide Delivery options</a>";
echo "<div id='deliveryblock'>";
require "delivery.php"
echo "</div>";
?>
“some_var”可以通过如下表单发送到PHP页面:

if (isset($_GET['some_var'])) {
    switch ($_GET['some_var']) {
        default: case "blah":
                 include("somefile.php"); break;
        case "nyah":
                 include("some_other_file.php"); break;
    }
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
    <input type="text" name="some_var" value="blah"/>
    <input type="submit" value="Go"/>
</form>
<?php
echo "<a href='javascript:showhide('deliveryblock');'>Show/Hide Delivery options</a>";
echo "<div id='deliveryblock'>";
require "delivery.php"
echo "</div>";
?>

JavaScript是客户端,这意味着它在从服务器下载网站后在您的PC上执行

PHP是服务器端的,这意味着它在服务器计算机上执行,然后它向您的PC发送一个纯HTML页面

这就是为什么这是不可能的。您必须使用PHP来实现这一点,使用一些变量。否则,您可以使用javascript/ajax向服务器发送请求,然后服务器将新信息发送回客户端,客户端随后可以更新页面

但在PHP中这样做更好:

if (isset($_GET['some_var'])) {
    switch ($_GET['some_var']) {
        default: case "blah":
                 include("somefile.php"); break;
        case "nyah":
                 include("some_other_file.php"); break;
    }
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
    <input type="text" name="some_var" value="blah"/>
    <input type="submit" value="Go"/>
</form>
<?php
echo "<a href='javascript:showhide('deliveryblock');'>Show/Hide Delivery options</a>";
echo "<div id='deliveryblock'>";
require "delivery.php"
echo "</div>";
?>
“some_var”可以通过如下表单发送到PHP页面:

if (isset($_GET['some_var'])) {
    switch ($_GET['some_var']) {
        default: case "blah":
                 include("somefile.php"); break;
        case "nyah":
                 include("some_other_file.php"); break;
    }
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
    <input type="text" name="some_var" value="blah"/>
    <input type="submit" value="Go"/>
</form>
<?php
echo "<a href='javascript:showhide('deliveryblock');'>Show/Hide Delivery options</a>";
echo "<div id='deliveryblock'>";
require "delivery.php"
echo "</div>";
?>

你不能用你在这里做的方式来实现你想要做的事情。正如@Ozzy在评论中所说,这是不可能的

原因是Javascript代码从来不知道PHP代码在做什么。JS代码所知道的就是浏览器接收到的内容。这意味着它获取
delivery.php
文件的内容作为页面的一部分,但不知道它来自页面其余部分的一个单独文件,更不用说知道该文件的调用了

快速答案是在
require()
语句周围添加一个包装
元素

这将为您提供一个元素,Javascript代码可以将该元素作为show/hide函数的目标

因此,您的PHP代码现在可能如下所示:

if (isset($_GET['some_var'])) {
    switch ($_GET['some_var']) {
        default: case "blah":
                 include("somefile.php"); break;
        case "nyah":
                 include("some_other_file.php"); break;
    }
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
    <input type="text" name="some_var" value="blah"/>
    <input type="submit" value="Go"/>
</form>
<?php
echo "<a href='javascript:showhide('deliveryblock');'>Show/Hide Delivery options</a>";
echo "<div id='deliveryblock'>";
require "delivery.php"
echo "</div>";
?>

你不能用你在这里做的方式来实现你想要做的事情。正如@Ozzy在评论中所说,这是不可能的

原因是Javascript代码从来不知道PHP代码在做什么。JS代码所知道的就是浏览器接收到的内容。这意味着它获取
delivery.php
文件的内容作为页面的一部分,但不知道它来自页面其余部分的一个单独文件,更不用说知道该文件的调用了

快速答案是在
require()
语句周围添加一个包装
元素

这将为您提供一个元素,Javascript代码可以将该元素作为show/hide函数的目标

因此,您的PHP代码现在可能如下所示:

if (isset($_GET['some_var'])) {
    switch ($_GET['some_var']) {
        default: case "blah":
                 include("somefile.php"); break;
        case "nyah":
                 include("some_other_file.php"); break;
    }
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
    <input type="text" name="some_var" value="blah"/>
    <input type="submit" value="Go"/>
</form>
<?php
echo "<a href='javascript:showhide('deliveryblock');'>Show/Hide Delivery options</a>";
echo "<div id='deliveryblock'>";
require "delivery.php"
echo "</div>";
?>

我想你基本上是想在页面上显示/隐藏一些内容。您的
showhide
功能仅适用于网页上的某些html组件。因此,只需尝试将“delivery.php”的内容放入一个类似
的元素中即可。然后使用
showhide('deliverydiv')

我认为您基本上是在尝试显示/隐藏页面上的某些内容。您的
showhide
功能仅适用于网页上的某些html组件。因此,只需尝试将“delivery.php”的内容放入一个类似
的元素中即可。然后使用
showhide('deliverydiv')

这一点可能需要很长时间才能弄清楚(因为它不可能lol)查看AJAX/JQEURY。你可以通过AJAX加载不同的东西来模拟你想要做的事情,从而得到你想要的东西。你想显示php文件的内容还是执行的php文件的结果?服务器将读取php代码,而不管javascript显示/隐藏它。你真的有一个名为
delivery.php
的id吗?这个可能是要花很长时间才能弄清楚(因为这是不可能的lol),看看AJAX/JQEURY。你可以通过AJAX加载不同的东西来模拟你想要做的事情,从而得到你想要的东西。你想显示php文件的内容还是执行的php文件的结果?服务器将读取php代码,而不管javascript显示/隐藏它。你真的有一个名为
delivery.php
的id吗?