2014-10-07 96 views
1

我在php代碼中嵌入了一些javascript。這是必要的檢查一些PHP會話變量的值,並根據結果,我使用一些JS內的PHP來決定是否會顯示一些元素。這裏是一個例子:在php代碼中嵌入javascript

<?php 

if ($_SESSION['myVar']==2) 
     { echo '<script type="text/javascript" > 

      document.getElementById("element1").style.visibility = "hidden"; 
     document.getElementById("element2").style.visibility = "hidden"; 

      </script>'; 
?> 

該代碼適合我。 我的問題是:在Web服務器上執行的JS(因爲它嵌入在PHP代碼中),在將頁面發送到客戶端瀏覽器(以及我認爲的)之前初始化頁面,還是php部分在服務器上運行,並且JS在客戶端運行後?

我知道在JS運行在客戶端瀏覽器正常情況下,但在這種情況下可疑,

我是一個初級程序員和任何幫助表示讚賞,謝謝提前。

+2

從來沒有組合服務器端和客戶端腳本。我有最糟糕的經歷。如果您真的想在客戶端驗證中使用PHP,請使用AJAX調用並從PHP獲取JSON以用於JavaScript。 – 2014-10-07 12:12:03

回答

1

Javascript is always在客戶端的瀏覽器中執行。 php代碼只是將JavaScript代碼作爲一段文本插入,瀏覽器將其作爲代碼讀取。

1

JavaScript是不管在客戶端執行,但你的PHP代碼,你剛插入的代碼,使其可用於瀏覽器來執行它...

1

腓發送的JavaScript回客戶端作爲一個響應,然後在客戶端運行JavaScript。 請閱讀本答題123,您可能有更好的解釋>>PHP & Embedded JavaScript Behavior。謝謝

-1
<?php 

if ($_SESSION['myVar']==2) 
     { 
?> 
<script type="text/javascript" > 
     document.getElementById("element1").style.visibility = "hidden"; 
     document.getElementById("element2").style.visibility = "hidden"; 
</script> 
<?php } ?> 
+0

這不是回答@the4thDimension的問題。 – Nippey 2014-10-07 12:46:18