2009-06-22 67 views
0

可能重複:
How do I use PHP variables as values for the <script> tag when rendering jQuery code in my CakePHP view?PHP代碼

在CakePHP中,作爲URL參數傳遞的值可以由控制器屬性

  <?php $userid= $this->params['pass'][0];?> 
可以得到

我想在jQuery代碼中使用$ userid。

$("#displayPanel #saveForm").live("click", function(){ 

      document.location = 'http://localhost/cake_1_2/forms/homepage'; 

});//Click on SaveForm 

假設,如果用戶ID是12,我需要的document.location是 'http://localhost/cake_1_2/forms/homepage/12'。

如何在jQuery中使用php變量?

回答

5

爲了增強可讀性,怎麼樣:

<?php $userid= $this->params['pass'][0];?> 
var userId = '<?=$userid?>'; 
$("#displayPanel #saveForm").live("click", function(){ 
    document.location = 'http://localhost/cake_1_2/forms/homepage/' + userId; 
}); 
1

你需要輸出的變量到JavaScript源:

$("#displayPanel #saveForm").live("click", function(){ 
      document.location = 'http://localhost/cake_1_2/forms/homepage/<?=$userid?>'; 
});//Click on SaveForm 

注意<?=$userid?>。如果在服務器上關閉了速記,請使用<?php echo $userid; ?>

+0

哪裏 我添加代碼 PARAMS [ '通'] [0] ;?>? – Angeline 2009-06-22 09:23:08

+0

您可以在PHP腳本的較早的地方添加該代碼。請注意,我假設上面的JavaScript位於PHP腳本中,因爲PHP是在服務器上執行的,因此您必須修改PHP腳本中的JavaScript。 – Blixt 2009-06-22 09:28:52

0
從上面建議的方法

除此之外,你還可以:

  1. 使用內置的CakePHP的JavaScript幫手扳平PHP和JS更好的零件在一起(更好的代碼分離和無代碼語言混淆)。看看這裏:http://book.cakephp.org/view/207/Javascript

  2. 在HTML中創建一個隱藏的輸入字段,並傳遞jQuery可以讀取的值。可能看起來有點過於複雜,但可以在jQuery應該能夠修改值或在提交表單中使用的情況下使用。

  3. 使CakePHP控制器負責讀取和使用用戶標識的JS。取決於您的特定用例,但不是將參數傳遞給新頁面,只需從您調用的控制器中首先獲取值(如果用戶標識不總是相同或不可預測被動)。