2011-07-16 101 views
0

我有這樣的代碼:location.reload()時,變量被設置

//Close Popups and Fade Layer 
//$('a.close, #fade').live('click', function() { //When clicking on the close or fade layer... 
$('a.close').live('click', function() { //When clicking on the close... 
    $('#fade , .popup_block').fadeOut(function() { 
     $('#fade, a.close').remove(); //fade them both out 
     location.reload(); // reload page 
    }); 
    return false; 

有這麼location.reload的方式();只有當一個變量被設置爲像$ auto_close ='ok'這樣的頁面纔會被觸發;?

+0

應該在哪裏$ AUTO_CLOSE(PHP變量)聲明? – ComFreek

+0

爲了澄清,你只是想要location.reload運行,如果$ auto_close =='ok'?爲什麼不使用if語句? – Will

+0

@ user603003在加載的div/ifrmae中。 @是另一種選擇。 – Muiter

回答

1

您可以將$ auto_close的值分配給頁面上的隱藏字段,然後在重新加載之前檢查該字段。

的PHP代碼/ HTML標記看起來是這樣的(僞代碼警報 - 這可能不是正確的PHP語法)

<input type="hidden" id="hiddenfieldforauto_close" value="<%=$auto_close%>"> 

那麼這將讓jQuery的代碼來檢查的谷在客戶端代碼中的 '$ AUTO_CLOSE' 變量 -

if ($("#hiddenfieldforauto_close").val() == 'ok') location.reload(); 
+0

我不能讓你的代碼工作,儘管它似乎是要走的路。我已經添加了你的代碼以及我如何在第一篇文章中實現它。 – Muiter

+0

這不是「第一篇文章」。這是一個問題。 SO不是論壇,留言板或「聊天」。你會注意到沒有按時間順序排列的答案。另外,你正在尋找的詞是「你的」。 「我不能讓你是代碼工作」是有意義的嗎? No. –

+0

@Tomalak:這可能是因爲他不是英國人,因爲40%的用戶在SO上(或許更多,也許更少?) – genesis

0
var i = 1; 
if (i == 1) { 
    var $auto_close = 'ok'; 
} 
else { 
    var $auto_close = 'no'; 
} 

if ($auto_close == 'ok') { 
    location.reload(); 
} 
+0

jQuery代碼在變量設置之前加載。所以這是行不通的。有任何想法嗎? – Muiter

+0

你必須先設置該變量... – genesis

+0

我試過,但JavaScript代碼有問題($ auto_close =='ok'),我試過沒有運氣(<?php echo $ auto_close?> =='確定') – Muiter