各位好:
我有一個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>
輸出後,就不能操作 PHP 的變數了。
如果想要取得文字並顯示,使用 JavaScript 就行了:
<div id="div" onclick="run()">Hello</div>
function run() {
/* 取得 div 的文字 */
const text = this.textContent;
/* 將文字置於 div 的後方 */
this.insertAdjacentHTML('afterend', text);
}
不是很清楚您的需求,如果能再詳細一點會更好。
輸出後,代表 PHP 執行完畢,後端當然就完成任務了,後續操作只會於前端執行。
如果要在按下按鈕後,將文字存為 PHP 的變數,就只能用 GET 或 POST 等方式來傳送文字,但是網頁必須重新整理才會生效。
雖然不知道你想做甚麼,但前端無法直接將值給後端的。
按下按鈕後使用 ajax 的方式將值傳到 PHP 處理呢? 就不用重新整理了。
FelixDaviddawei530empiretactics
謝謝,我會再研究AJAX的
我想你應該把前、後端混在一起看了。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