2011-08-30 66 views
2

我頁面上的幾個隱藏的div像這樣顯示隱藏的div節上if語句

<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

回聲的各個功能。這應該夠了。如果您分享了這些功能,也許我們可以提供更多幫助。 – Shef

回答

1

你不能從PHP調用JavaScript函數,PHP是基於服務器端的,代表預處理超文本,而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被加載後。

+0

啊! Mihai>你剛剛殺了它,正是我想要的很多頭撞後..非常感謝 – ABI

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>

0

你爲什麼不寫你的函數接受id PARAM的查詢字符串的? <script>thefunction($get);</script>

這樣可以節省if邏輯,並開發出更抽象的功能。這是更少的代碼,更容易管理。

0

首先。我會用jQuery來顯示/隱藏的div ...

,但我的概念將是一個有點不同的,那麼上面,

<?php 
    if($_GET['id']){ 
    echo '<script type="text/javascript">$(\'#'.$_GET['id'].'\').show();</script>'; 
    } 
?> 

希望你得到了我的想法,這是乾淨漂亮的動態:)

0

即使你已經接受了答案,另一個選擇是隻使用JavaScript和一些JS的幫助來輕鬆地從查詢字符串中檢索值。

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'; 
} 

演示:jsfiddle.net/Marcel/L69xt/show