2013-07-31 85 views
-3

我想將JS變量傳遞給php回聲語句。將JS變量傳遞給php回聲語句

這裏是我的代碼

<?php print '<a href="thisTest.html?id=my_JS_value">test</a>'; ?> 

我怎麼能做到這一點

我只是測試這和它的作品,但我怎麼能寫在href

警報(myvalue的)中的值; 「

+1

你是如何調用PHP?你沒有顯示JS。現在你正在打印出一段文字... – Floris

回答

4

這是不可能的從時間來看

當運行PHP代碼,沒有JavaScript的頁面還沒有加載到瀏覽器沒有JavaScript引擎存在。瀏覽器渲染頁面時,服務器代碼已經完成了它的工作

這樣說,你可以可以渲染引用JavaScript函數的HTML例如:

<?php print '<a href="javascript:DoNav(\'thisTest.html\');">test</a>'; ?> 

然後,實施DoNav相應:

function DoNav(url) 
{ 
    location.href = url + '?id=' + my_JS_value; // Navigate to the new URL with the JavaScript variable 
} 
+0

但我在頁面加載後使用這個回聲 –

+0

我認爲JS必須觸發另一頁的加載,並通過_GET或_POST傳遞變量的值... – Floris

+0

@ManMann - 然後你需要實現一種將JavaScript變量傳遞迴服務器的方法。這通常通過AJAX,URL參數或隱藏表單域來完成。 –

1

JavaScript和PHP不能直接通信,如JavaScript是客戶端和PHP是服務器端,前JavaScript是發送到瀏覽器,即PHP被執行。

要達到目的,唯一的方法是從JavaScript發送一個調用PHP腳本(例如AJAX)的請求,並通過GET(例如您的示例)或POST傳遞變量。

0

Javascript代碼在客戶端執行,所以您無法訪問它。 你可以只使用JavaScript創建鏈接,就像這樣:

var my_JS_value = 0; 
document.write('<a href="thisTest.html?id=' + my_JS_value+ '\">test</a>'); 
0

可以插入使用PHP的元素,後來與JS設置href屬性。無論如何,還有很多其他方法可以達到同樣的效果。

<?php 
print '<a id="mylinkelement" >test</a> 
<script> 
var mylinkelement=getElementById("mylinkelement"); 
mylinkelement.href="thisTest.html?id="+my_JS_value; 
</script>'; 
?> 

你甚至都不需要爲PHP:d