2011-12-06 53 views
1

我有一個基於一些會話變量的PHP條件。如果條件通過,我想調用一個正在更新當前網頁的Javascript函數。是否可以獨立於按鈕或鏈接或窗口加載函數來調用JavaScript函數?是否有可能從獨立於事件的HTML調用Javascript函數?

+0

如果它不會在窗口加載函數上調用,那麼您希望何時調用它? –

+0

爲什麼不從更改會話變量的進程調用它? –

+0

實際上流程是1.輸入登錄詳細信息(在主頁上) - > 2.導航到login.php進行身份驗證 - > 3.回到主頁錯誤/成功 - > 4.基於身份驗證結果修改主頁。我不想在中間顯示一個頁面,並希望用戶相信只有一個頁面。 –

回答

6

如果我正確理解你,只需使用php輸出javascript函數即可。如果你需要的話,它會發射一次。或者,你可以以相同的方式將會話變量以javascript變量的形式回顯出來,然後在javascript中執行條件檢查。

+0

感謝Cy。讓我試試這個。我認爲這應該工作。 –

+1

好主意,但'==「真」「是非常難看的一段代碼。 –

+0

更改爲「foo」。 :) – Cymbals

0

正如另一個答案中提出的,只要加載頁面,您就可以輸出一個Javascript調用。但是,如果您的事件不能等到頁面重新加載,那麼我建議您設置一些JavaScript來每隔X秒鐘輪詢頁面(使用AJAX),並在值發生更改時執行某些操作。

+0

我喜歡這個答案,假設它符合OP的需求,儘管我可能會將其改寫爲「This * is * possible」,因爲如果會話變量在頁面上下文之外任意改變(如SO的異步「已發佈一個新答案」功能)。 – nrabinowitz

+0

不幸的是,AJAX不會按設計加載會話變量。它將它視爲一個單獨的實例。希望這可以防止自我造成的頭部創傷。 – Cymbals

+0

這根本不是真的。在服務器的眼中,ajax請求與請求沒有區別。 – Zoidberg

相關問題