2015-09-28 180 views
0

我已經看到了很多這樣的例子,但沒有給出答案如何改變php回聲'buynow'。 HTLM代碼在PHP中回聲PHP?

<button id="pn4" class="paynow-button" 
     data-business="[email protected]" 
     data-item_name="PayNow Plugin" 
     data-amount="150" 
     data-quantity="1" 
     data-currency_code="USD"> 
     <span class="paynow-label">Click to Buy </span> 
     <span class="paynow-price"><sub>$</sub>150</span> 
</button> 

JS代碼

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#pn4').paynow({ 
      type: 'buynow', 
      style: 'double', 
      tooltip: 'Click to checkout with PayPal!' 
     }); 
    }); 
</script> 

我加入這個代碼,但沒有結果。

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#pn4').paynow({ 
      type: '<?php echo $detail['my_name']; ?>', 
      style: 'double', 
      tooltip: 'Click to checkout with PayPal!' 
     }); 
    }); 
</script> 
+0

生成的HTML是什麼? –

+2

歡迎來到SO,你的問題有點缺乏細節。你如何定義變量'$ detail'?你展示的內容完美無缺,但我們需要知道你是如何獲得這種價值的,以及你可能想要的是什麼。 –

回答

0
echo " 
<script> 
    $('.paypal').ClassyPaypal({ 
type: '".$detail."', 
}); 

</script>"; 
?> 

爲什麼你應該這樣做的原因,是你的JavaScript之前PHP裝載,所以你可以不回一個值還未加載

__Edited的腳本:

嘗試編碼您的價值

<?php echo json_encode($detail); ?> 

使用json_encode()要求:

PHP 5.2.0 or greater 
$detail encoded as UTF-8 (or US-ASCII, of course) 

由於UTF-8支持完整的Unicode,所以它應該是安全的即時轉換。

+2

這在功能上與user2692541已有的功能沒有什麼不同。在發送到瀏覽器之前,該值將被加載到JavaScript中,所以它沒有區別。 –

+0

你說得對,我會更新我的答案 –

0

看來你的php正在返回一個空值。你的腳本應該完美地工作。你也可以嘗試使用AJAX。

也可以嘗試像這樣

"<?php echo $php_var; ?>" 
0

一般情況下,如果你的網絡服務器支持PHP,你自己的例子應該工作。 PHP和JS在解釋/打印字符串方面只有一些差異。例如:如果您的PHP變量包含換行符,則此換行符將打印在您的JavaScript字符串中。但是JavaScript不接受字符串中的換行符,您需要轉義這些。另外,請記住,您也必須避免使用單引號。下面的例子將是一個好一點:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#pn4').paynow({ 
      type: '<?php echo str_replace(array("'", "\n"), array("\'", "\\\n"), $detail['my_name']); ?>', 
      style: 'double', 
      tooltip: 'Click to checkout with PayPal!' 
     }); 
    }); 
</script> 

但更好的是採取json_encode()拉爾夫建議。該函數將PHP字符串轉換爲正確的JavaScript字符串。請務必不要在JavaScript中包含引號。例如:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#pn4').paynow({ 
      type: <?php echo json_encode($detail['my_name']); ?>, 
      style: 'double', 
      tooltip: 'Click to checkout with PayPal!' 
     }); 
    }); 
</script> 

一定要檢查是否$detail['my_name']在這種情況下的字符串。否則,它可能會破壞PayPal按鈕的JavaScript代碼!