iT邦幫忙

0

html javascript 值存入PHP

  • 分享至 

  • xImage

各位好:
我有一個PHP的變數 $ans="HI",
我希望點擊按鈕後他的值才會改變,該怎麼做呢?謝謝
以下是程式碼:

<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">    
    <head>
<body>
     <div id="div" onclick=" doRun() "> hello javascript </div>
<?php
  $ans="HI";
  echo $ans;
?>
<script type="text/javascript" >    
function doRun() { 
    
   <?php //我想抓取div的文字"hello javascript"
   $ans='<script>document.getelementbyid('div')</script>';
    ?>
} 
</script>
<?php
  echo $ans;//希望出現"hello javascript"
?> 
</body>
</html>
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
Felix
iT邦研究生 2 級 ‧ 2021-11-11 15:17:39
最佳解答

輸出後,就不能操作 PHP 的變數了。

如果想要取得文字並顯示,使用 JavaScript 就行了:

<div id="div" onclick="run()">Hello</div>
function run() {
    /* 取得 div 的文字 */
    const text = this.textContent;
    /* 將文字置於 div 的後方 */
    this.insertAdjacentHTML('afterend', text);
}
看更多先前的回應...收起先前的回應...
amyqaz iT邦新手 4 級 ‧ 2021-11-11 15:39:31 檢舉

Felix大大好:

請問還有其他方法嗎?我真的需要把值存入PHP,後續我PHP還要做其他操作...

Felix iT邦研究生 2 級 ‧ 2021-11-12 01:25:21 檢舉

amyqaz

不是很清楚您的需求,如果能再詳細一點會更好。

輸出後,代表 PHP 執行完畢,後端當然就完成任務了,後續操作只會於前端執行。

如果要在按下按鈕後,將文字存為 PHP 的變數,就只能用 GET 或 POST 等方式來傳送文字,但是網頁必須重新整理才會生效。

David iT邦新手 5 級 ‧ 2021-11-12 09:11:24 檢舉

amyqaz

雖然不知道你想做甚麼,但前端無法直接將值給後端的。
按下按鈕後使用 ajax 的方式將值傳到 PHP 處理呢? 就不用重新整理了。

amyqaz iT邦新手 4 級 ‧ 2021-11-12 14:09:38 檢舉

FelixDaviddawei530empiretactics
謝謝,我會再研究AJAX的

1
dawei530
iT邦新手 5 級 ‧ 2021-11-11 16:50:43

我想你應該把前、後端混在一起看了。PHP 只能在伺服器端執行,輸出 html 到瀏覽器後就只能在客戶端的瀏覽器執行 javascript。如果你希望把 javascript 取得的值送到後端,你可以用

location.href = 'xxx.php?text=' + divText;

可是這樣子就會跳轉頁面。若你不要跳轉頁面,你就要考慮用 Ajax 的方式送到後端 PHP 處理,然後再從 PHP 輸出資料給原頁面接收,然後在原頁面上更換資料。

你可以搜尋 javascript ajax,或參考 jquery 裡面的 ajax 使用方式:https://api.jquery.com/jquery.ajax/#jQuery-ajax-url-settings

1
empiretactics
iT邦新手 5 級 ‧ 2021-11-11 16:56:14

json encode / json decode
我不知道你是不是在說物件轉換

我要發表回答

立即登入回答