gpt4 book ai didi

javascript - PHP:如何获得当前的 innerHTML?

转载 作者:可可西里 更新时间:2023-10-31 23:36:41 28 4
gpt4 key购买 nike

简单来说,我尝试制作一个网站,用户可以在其中制作一个元素,然后将其放入一个id为“box”的div元素中。 js 脚本运行良好,可以创建 p 个元素。

然后,我制作了一个 php 脚本,用于保存“box”div 的 innerHTML,然后将其保存在 .txt 文件中。

现在,问题是,脚本返回 innerHTML 值作为原始值,在 p 元素被添加到那里之前。

这是我的 php 脚本:

 <?php
//Basically a function
if(isset($_POST["use_button"]))
{
//Loads the file, which is named test.php
$dom= new DOMDocument();
$dom->loadHTMLfile("test.php");

//Gets the innerhtml value
$div = $dom->getElementById("box")->nodeValue;

//Writes it down in a file.
$file = fopen("stuff.txt","w");
fwrite($file,$div);
fclose($file);

//Just for fast-checking if the code has any errors or not
echo "File saved.";
}
?>

我想这个问题已经很清楚了。这是获取当前值而不是原始值的方法。

如果有帮助,这里是完整的代码:

<html>
<head>
<script>
//The javascript function to add a "para" into a div with the id "box"

function addstuff() {
var parag = document.createElement("P"); // Create a <button> element
var t = document.createTextNode("Lorem Ipsum"); // Create a text node
parag.appendChild(t);
document.getElementById("box").appendChild(parag);
}
</script>
</head>
<body>



<!--Button to call the funtion-->
<button onclick="addstuff()">Add it</button>


<!--The form for the button to work-->
<form action="" method="post">

<!--The div to put the "para"s in. The style only adds borders-->
<div id="box" style="border: 2px solid black;">
<!--A pre-existing paragraph-->
<p>This was here before</p>

</div>

<!--The button to call the php-->
<input type="submit" name="use_button" value="Store in file" style="width:100%;" />
</form>

<!--The PHP-->
<?php
//Basically a function
if(isset($_POST["use_button"]))
{
//Loads the file, which is named test.php
$dom= new DOMDocument();
$dom->loadHTMLfile("test.php");

//Gets the innerhtml value
$div = $dom->getElementById("box")->nodeValue;

//Writes it down in a file.
$file = fopen("stuff.txt","w");
fwrite($file,$div);
fclose($file);

//Just for fast-checking if the code has any errors or not
echo "File saved.";
}
?>
</body>
</html>

最佳答案

这是不可能的:

  • PHP 生成 HTML,然后将其发送到浏览器。
  • 浏览器在页面中执行javascript。

浏览器中没有PHP!服务器不知道用户在浏览器中做了什么!!

您可以使用 javascript 执行 AJAX 调用以将数据发送到服务器。

请引用这个答案:https://stackoverflow.com/a/6009208/1275832

关于javascript - PHP:如何获得当前的 innerHTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46829830/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com