我在页面上有一些隐藏的div,就像这样
<div class="form" id="scheduler" style="display: none;">
<div class="form" id="test" style="display: none;">
<div class="form" id="super" style="display: none;">
我想要一个可以调用jscript来显示这些隐藏的div,基于这样的标准
<?php
if ($_GET['id'] == 'scheduler') {
call jscript function (show div id:scheduler in this case)
}
else if ($_GET['id'] == 'test') {
call jscript function (show div id:test in this case)
}
else if ($_GET['id'] == 'super') {
call jscript function (show div id:super in this case)
}
?>
感谢。
答案 0 :(得分:1)
你不能从PHP调用javascript函数,PHP是基于服务器端的,代表Preprocesing Hypertext而Javascript是基于浏览器的。
您可以使用:
<?php
if ($_GET['id'] == 'scheduler') {
$showdiv = 'scheduler';
}
else if ($_GET['id'] == 'test') {
$showdiv = 'test';
}
else if ($_GET['id'] == 'super') {
$showdiv = 'super';
}
echo "<script type=\"text/javascript\">document.getElementById('".$showdiv."').style.display = 'block';</script>";
?>
但是在加载这些div之后,它应该位于页面的底部。
答案 1 :(得分:0)
<script type='text/javascript'>
function showDivById(id){
document.getElementById(id).visible = true;
}
<?php
$divs = array('scheduler','test','super');
if (array_seach($_GET['id'], $divs)!==false)
echo "showDivById({$_GET['id']})";
?>
</script>
请注意,php代码>> <script>
答案 2 :(得分:0)
为什么不编写函数来接受查询字符串的id
参数?
<script>thefunction($get);</script>
这样您可以保存if
逻辑,并开发更抽象的功能。它代码更少,更易于管理。
答案 3 :(得分:0)
首先。我会用jquery来显示/隐藏div ...
但我的概念与上面的概念有点不同,
<?php
if($_GET['id']){
echo '<script type="text/javascript">$(\'#'.$_GET['id'].'\').show();</script>';
}
?>
希望你有我的想法,它干净而且非常有活力:)
答案 4 :(得分:0)
即使您已经接受了答案,另一种选择是在一些JS的帮助下仅使用JavaScript来轻松地从查询字符串中检索值。
function $get(variable) {
var query = window.location.search.substring(1);
var vars = query.split('&');
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split('=');
if (pair[0] == variable) {
return pair[1];
}
}
}
var qs_id = $get('id');
if (['scheduler', 'test', 'super'].indexOf(qs_id) >= 0) {
document.getElementById(qs_id).style.display = 'block';
}