JavaScript/PHP [Show/Hide]
JavaScript/PHP [Show/Hide]
我试图弄清楚如何使用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>
正文代码:
<?php
echo "<a href='javascript:showhide('delivery.php');'>Show/Hide Delivery options</a>";
require "delivery.php" ?>
关于为什么/如何让它工作的任何想法?
任何帮助不胜感激!
客户端的,这意味着在从服务器下载网站后,它会在您的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;
}
}
"some_var"可以使用如下形式发送到PHP页面:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
<input type="text" name="some_var" value="blah"/>
<input type="submit" value="Go"/>
</form>
如果您在文本字段中键入"blah"并发送它,页面将显示"somefile.php",但如果您键入"nyah",它将显示"some_other_file.php的内容"。
希望这有帮助。
我认为你要找的是ajax(例如 http://api.jquery.com/jQuery.get/)
你无法以你在这里的方式实现你想要做的事情。正如@Ozzy在评论中所说,这是不可能的。
原因是Javascript代码永远不知道PHP代码在做什么。JS代码所知道的只是浏览器接收的内容。这意味着它将delivery.php
文件的内容作为页面的一部分获取,但不知道它是否源自页面其余部分的单独文件,更不用说知道该文件的名称了。
快速答案是在 require()
语句周围添加一个包装<div>
元素。
这将为您提供一个元素,您的 Javascript 代码可以针对该元素来显示/隐藏函数。
所以你的PHP代码现在可能看起来像这样:
<?php
echo "<a href='javascript:showhide('deliveryblock');'>Show/Hide Delivery options</a>";
echo "<div id='deliveryblock'>";
require "delivery.php"
echo "</div>";
?>
(这确实假设delivery.php
生成的内容是有效的HTML代码,但您尚未向我们展示该文件的外观,因此我只需要做出该假设)。
希望有帮助。
我认为您基本上是在尝试显示/隐藏页面上的某些内容。您的showhide
函数仅适用于网页上的某些 html 组件。因此,只需尝试将"交付.php"的内容放入像<div id='deliverydiv'></div>
这样的元素中。然后使用 showhide('deliverydiv')
.
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- JQuery hide()在show()之后不起作用,反之亦然
- 使用angularjs ng Show/ng hide显示和隐藏不同的内容
- 我需要NG-IF/NG-SWITCH还是NG-SHOW&NG-HIDE
- 函数hide()、prev()、show()被组装以获得所需的结果,但无法理解其工作原理
- Javascript Show Hide-将切换操作从复选框更改为<a href>链接
- show-hide只在ajax调用中第一次工作
- 请有人修复这个SHOW/HIDE表Javascript代码
- ng show和ng hide don'I don’我一秒钟都不工作
- 切换 标记在使用 ng-hide/show 和布尔值时失败
- Javascript hide/show 切换在 Opera 中是双向的,但在其他浏览器中只能以一种方式工作
- JavaScript hide/show 不适用于 onchange 事件
- jQuery .detach() vs hide/show
- jQuery hide(), show() or html()
- jQuery hide/show 不起作用,不像 JS 函数
- jQuery hide & Show 太不分青红皂白了,需要更高的精度
- Jquery hide() show()不支持ie10浏览器
- 在ng-repeat中使用ng-click和ng-hide/show
- 未捕获的类型错误:$(..)[index].hide/show不是函数
- Jquery hide()/show()动画连续重复