2014-09-12 43 views
0

我有一個php變量。然後在按鈕上點擊JS,我必須打開包含該變量的鏈接。根據其他主題,這必須工作,但事實並非如此。沒有任何反應,如果我點擊它。不能在JavaScript中使用我的php變量

<?php 
    $id = 'string'; 
?> 
<SCRIPT language="JavaScript"> 
    function openBox() { 
     php_var = <?php echo $id; ?>; 
     targetURL = "other_page.php?id=" + php_var 
     theBox = window.open(targetURL, 'theResults', 'status=0, toolbar=0, location=0, menubar=0, directories=0, resizable=0, scrollbars=1, width=600,height=680,left=10,top=10'); 
    } 
</SCRIPT> 

*編輯: 好了,我忘了var';。 修改後的代碼(下面)現在打開所需的站點,但該變量爲空。如果我只是在PHP中回顯它,它具有價值。

<?php 
    $id = 'string'; 
?> 
<SCRIPT language="JavaScript"> 
    function openBox() { 
     php_var = '<?php echo $id; ?>'; 
     targetURL = "other_page.php?id=" + php_var 
     theBox = window.open(targetURL, 'theResults', 'status=0, toolbar=0, location=0, menubar=0, directories=0, resizable=0, scrollbars=1, width=600,height=680,left=10,top=10'); 
    } 
</SCRIPT> 
+4

提示:不要試圖猜測結果JavaScript的外觀或行爲。其實*在你的瀏覽器中查看*和*調試*。 「沒有任何反應,如果我點擊」不在調試。您的瀏覽器的JavaScript控制檯肯定會告訴您問題是什麼,請不要忽略它。 – David 2014-09-12 12:16:55

+0

感謝您希望將問題標記爲已解決。但是,我們不希望在這裏提出問題,因此可以保留問題/答案的格式。我在下面添加了一個答案 - 你可以在將來自己做,因爲我們在這裏歡迎自己的答案。 – halfer 2014-09-12 17:28:07

+0

(我已經投票結束了,因爲我不確定php/html的擴展混淆會在未來對廣泛的用戶有用,不過,很高興你解決了你的問題!)。 – halfer 2014-09-12 17:30:47

回答

1

發表於OP

解決方案:我有html擴展而不是php,所以php代碼沒有被執行。

5

您需要添加引號和var

var php_var = '<?php echo $id; ?>'; 
var targetURL = "other_page.php?id=" + php_var 
var theBox = window.open(targetURL, 'theResults', 'status=0, toolbar=0, location=0, menubar=0, directories=0, resizable=0, scrollbars=1, width=600,height=680,left=10,top=10'); 
+0

請檢查帖子,我已更新。 – fishmong3r 2014-09-12 12:25:56

+0

我不明白'如果我簡單地在PHP中回顯它,它有它的價值。' – T00rk 2014-09-12 12:26:58

+0

' echo $ id;'工作,但它不出現在targetURL – fishmong3r 2014-09-12 12:27:47

0

有關更改線

php_var = <?php echo $id; ?>; 

php_var = '<?php echo $id; ?>'; 

什麼?

您是否確定$ id是在您的php腳本中定義的,並且它沒有空字符串值?

+0

我絕對相信。它的定義就像上面的一段代碼一樣。 – fishmong3r 2014-09-12 12:31:44

0

的字符串使用引號,否則腳本認爲你是分配命名php_var變量:

php_var = "<?php echo $id; ?>"; 

而且,你在這行的末尾錯過了科拉姆

targetURL = "other_page.php?id=" + php_var;