2012-09-14 41 views
-2

我在一個php變量中存儲字符串值。我想將此值發送到圖像點擊函數。這裏是代碼如何從PHP頁面發送字符串值到Java腳本頁面

userfn.php 

$actvitycode = "AG001"; 
<img src="phpimages/addicon.gif" onclick="showData('.$actvitycode.')"></img> 



getdata.js 

function showData(actcode) 
{ 
    alert(actcode); 
    document.getElementById("tasklist").value = actcode; 
} 

問題是,在圖像上點擊功能沒有調用。 供參考:如果我在$ actvitycode中存儲整數值(例如:2342),則函數被成功調用並且警報顯示結果。只有字符串值的問題。我嘗試了幾種語法,如

onclick="showData("'.$actvitycode.'")" 
onclick="showData($actvitycode)" 

但是沒有一種語法給出結果。請給我正確的語法。

+0

爲了進一步說明兩個答案,使用兩個不同的腳本語言和他們混在一起。 Javascript只能在客戶端(瀏覽器)上運行,而PHP只能在服務器上運行。 – dbf

回答

1

您必須使用echo命令:

<?php $actvitycode = "AG001"; ?> 
<img src="phpimages/addicon.gif" onclick="showData('<?php echo $actvitycode; ?>')"></img> 
1
<?php 
$actvitycode = "AG001"; 
// close php tag ?> 
<img src="phpimages/addicon.gif" onclick="showData('<?php echo $actvitycode ?>')"></img> 
1

你想在javascript使用php變量。這是不可能的,因爲javascript是客戶端(換句話說在客戶端瀏覽器中執行)並且php是服務器端(=在服務器上執行)。

<img src="phpimages/addicon.gif" onclick="showData('<?php echo $actvitycode ?>')"></img> 

應該在這種情況下工作。

請記住,<?php ?>代碼中的代碼在發送到客戶端之前在服務器上執行(例如apache),而標記和代碼的其餘部分以及服務器端代碼的結果將作爲「是「給客戶端顯示(在HTML或CSS的情況下)或執行(在腳本的情況下 - 例如JavaScript)。

的代碼實際上產生的JavaScript代碼 - 如果$activity = 'foo',代碼生成一個常數參數s​​howData函數調用:

<img src="phpimages/addicon.gif" onclick="showData('foo')"></img> 
+0

太棒了,難道你不會像5秒鐘之前發佈的,你可以留下我的評論:P – dbf

+0

我非常抱歉:D – Kuro

+0

我花的時間太多了,表達方式:) – Kuro

0

只要做到這一點這樣:

PHP文件:

<? $actvitycode = "AG001";?> 
<img src="http://www.kafkabrigade.org.uk/wp-content/uploads/2011/07/button-pic.jpg" onclick="showData('<?=$actvitycode?>')"></img> 

<? $actvitycode = "AG002";?> 
<img src="http://www.kafkabrigade.org.uk/wp-content/uploads/2011/07/button-pic.jpg" onclick="showData('<?=$actvitycode?>')"></img> 

<input type="input" id="tasklist" value=""> 

JS file:

<script type="text/javascript" charset="utf-8"> 
    function showData(actcode) { 
     alert(actcode); 
     document.getElementById("tasklist").value = actcode; 
    } 
</script> 

所以在')「> $ actvitycode必須插入或作爲或。其實它是一樣的。

寫,如果你有一些問題...

相關問題