2016-10-03 81 views
0

我試圖在Javascript中傳遞一個PHP變量,它不起作用。請找到我使用的代碼如下:在Javascript中傳遞PHP變量

function delete_id(id) 
{ 
    if(confirm('Are you sure you want to permanently delete this record?')) 
    { 
     window.location.href='index.php?cabinet_id_delete='+id+'&estimate_id=<?php echo $estimate_id; ?>'; 
    } 
} 

也許我需要編輯調用JS的代碼?這裏是它:

<a href='javascript:delete_id(".$rows['estimates_cabinet_id'].")'>DELETE</a> 

任何人都可以看到我需要做什麼來得到這個工作?

感謝,

約翰

+1

這應該工作。 $ estimate_id來自哪裏?或者現在(錯誤的)輸出是什麼? – Jeff

+1

如果你的變量名是正確的,並且這是在一個php頁面中,那麼應該工作......不只是一個JavaScript文件。可能需要一些更多信息? –

+0

$ estimate_id設置在頁面的頂部。這是生成的鏈接 - index.php?cabinet_id_delete = 10&estimate_id =%3C?php%20echo%20 $ estimate_id;%20?%3E –

回答

0

根據你評論它看起來像你有一個合法的PHP腳本,其中你鏈接到一個js文件(通過<script src=...>)。

在這樣一個js文件裏面的php將不會被執行爲php,而是直接發送到瀏覽器。

所以最簡單的辦法是移動是JS代碼到你的php文件,在這裏你輸出HTML:

<?php 
$estimate_id=1; 
?> 
<html> 
<script> 
function delete_id(id) 
{ 
    if(confirm('Are you sure you want to permanently delete this record?')) 
    { 
     window.location.href='index.php?cabinet_id_delete='+id+'&estimate_id=<?php echo $estimate_id; ?>'; 
    } 
} 
</script> 
<?php 
// more php... 
?> 

另一種解決辦法是讓你的服務器上執行JS-文件作爲PHP。
這可能很棘手(你不能簡單地通過參數,你有更高的安全風險),但會工作 - 我不會建議。

+0

@ AidanGee的解決方案是另一個很好的解決方案! – Jeff

2

您將無法從JavaScript文件中使用php。一些常見的方法來「傳遞變量」的JavaScript可能是打印出來的HTML頁面:

的index.html

<script> 
    var estimate_id = <?php echo $estimate_id; ?>; 
</script> 

main.js

esitmate_id現在可以作爲一個全局變量。

function delete_id(id) 
{ 
    if(confirm('Are you sure you want to permanently delete this record?')) 
    { 
    window.location.href='index.php?cabinet_id_delete='+id+'&estimate_id='+estimate_id; 
    } 
} 

或者你可以只使用當前的代碼在index.php文件中的腳本標記

+0

很好的解決方案! (實際上比我好...) – Jeff