使用PHP更改HTML元素

时间:2014-09-11 22:36:47

标签: php html ajax dom

我有一个简单的HTML页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <p id="demo">Nothing here</p>
    <button onclick="?">Button</button>       
</body>
</html>

和一个单独的PHP文件:

<?php 

// Load and exec craigslist
$site = curl_init("https://www.craigslist.org/about/sites");
curl_setopt($site, CURLOPT_RETURNTRANSFER, true);
$target = curl_exec($site);

$dom = new DOMDocument();
@$dom -> loadHTML($target);

// Save logo text 
$title = $dom -> getElementById('logo') -> nodeValue;

?>

这就是我想要做的事情:

当我单击HTML页面上的按钮时,我希望运行PHP脚本以便我可以获得craigslist标题并将其存储为PHP变量($title)。我想将<p id="demo>(“Nothing here”)中的文本替换为$ title(“craigslist”)中存储的文本。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

将您的HTML更改为此

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <p id="demo">Nothing here</p>
    <button onclick="myFunc()">Button</button>       
    <script>
    function myFunc() {
        var xmlhttp=new XMLHttpRequest();
        xmlhttp.onreadystatechange=function() {
            if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                document.getElementById("demo").innerHTML=xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","file.php",true); //Change file.php to the location of your php file
        xmlhttp.send();
    }
    </script>
</body>
</html>

并将此行添加到设置标题变量

的PHP文件after
echo $title;

现在当然最好的情况是你会使用jQuery的内置AJAX,但是效果不错