如何从PHP运行if语句来运行JS函数
How to run if statement from PHP to run JS function
我有一个PHP会话变量,它可以是0或1,这个JS函数:
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
我希望只有在 PHP 会话变量为 = 0 时打开页面后立即自动运行此功能。
如何以及在何处创建 If 语句?
最简单的方法之一就是像处理任何普通代码块一样处理它。在 if 语句中添加您的条件。
基本思路:
<!-- head -->
<?php if($_SESSION['whatever'] === 0): ?>
<script type="text/javascript">
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
toggle_visibility('body');
</script>
<?php endif; ?>
<!-- your HTML content, etc. -->
<!-- footer, etc. -->
如果$_SESSION['whatever']
不是0
,那么在加载完所有代码后,那么你将不会在页面中看到这个JS代码块,因为记住PHP首先运行。
注意:不要忘记启动会话。
附加说明:当然,另一种方法是创建一个XMLHttpRequest。您需要另一个响应此请求的 PHP 脚本。只需用json_encode
d 响应来回应。这个答案(香草)应该给出更好的说明。
你可以让PHP生成JS代码,然后你会得到这样的东西
<script>
<?php
session_start();
if($_SESSION["name"]=="value"){
echo"document.getElementById('id').style.display='none';";
}
?>
</script>
<?php
$execJs = "false";
session_start();
if (isset($_SESSION['variable']) && $_SESSION['variable'] === 0) {
$execJs = "true";
}
?>
<script>
var id = 'whatever';
var execJs = "<?php echo $execJs ?>";
if (execJs === 'true') {
toggle_visibility(id);
}
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
</script>
您可以使用以下技术:
<?php
if($_SESSION['shouldbezero'] === 0) {
echo '<script src="shouldbezero.js"></script>';
}
?>
只有当 $_SESSION['shouldbezero']
的值等于 0
时,echo
语句才会运行,因此 <script>
标记只会在这种特定情况下添加到您的 HTML 代码中。
如果使用这种技术,则还应创建一个名为 shouldbezero.js
的文件,该文件应包含仅在 $_SESSION['shouldbezero']
的值等于 0
时才要运行的所有 JavaScript 代码。
注意:
如果您只想根据PHP代码中的某个值加载CSS,则可以对该CSS代码执行相同的操作。
例如,您可以在echo '<script src="shouldbezero.js"></script>';
的正下方添加回显<link rel="stylesheet" type="text/css" href="shouldbezero.css">';
,如下面的代码示例所示:
<?php
if($_SESSION['shouldbezero'] === 0) {
echo '<script src="shouldbezero.js"></script>';
echo '<link rel="stylesheet" type="text/css" href="shouldbezero.css">';
}
?>
如果这样做,您还应该创建一个名为 shouldbezero.css
的文件,该文件应包含您只想在 $_SESSION['shouldbezero']
的值等于 0
时才要处理的所有 CSS 代码。
- 如何使用Gmail运行.js文件
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 按钮未运行为按钮,找不到如何使运行JS文件
- 在单独的上下文中运行 js 代码并访问其全局变量
- 如何使用 GetValues 使用 Jint 运行 Js 代码
- 节点webkit仅运行.js文件
- 如何在Jasmine中运行js函数
- Ubuntu试图运行.js文件得到抛出错误;
- 在pink-in上运行js;在pink-out上运行不同的js
- 加载图像后运行JS
- 从命令行运行JS文件
- 如何在命令提示符下运行js文件
- Meteor/Iron路由器-何时何地运行JS以交换到所见即所得
- 按顺序运行Js代码
- 在终端中使用imacros运行JS
- 无法在 Windows 上的节点中运行.js文件
- 如何使用 Muse 参数进行布尔比较以运行 JS 函数
- 运行 JS 对象列表
- 防止动画多次运行 - js 回调
- 从子窗口的父窗口运行JS函数