Php 如何附加到textarea?
如何使用PHP附加到textarea,然后刷新textarea 多谢各位 编辑:Php 如何附加到textarea?,php,javascript,ajax,Php,Javascript,Ajax,如何使用PHP附加到textarea,然后刷新textarea 多谢各位 编辑: 它应该是由PHP代码触发的服务器最简单的方法是使用javascript函数使用ajax轮询PHP脚本,比如说每10秒轮询一次。您可以将时间戳作为参数添加到php函数中,使其只返回最新的日志条目 当ajax调用返回时,可以使用javascript将结果文本附加到textarea 如果你愿意,我可以找到一些示例代码 这是一个HTML文件,它有一个函数,可以对脚本log.php进行AJAX调用,返回一些内容(在本例中,
它应该是由PHP代码触发的服务器最简单的方法是使用javascript函数使用ajax轮询PHP脚本,比如说每10秒轮询一次。您可以将时间戳作为参数添加到php函数中,使其只返回最新的日志条目 当ajax调用返回时,可以使用javascript将结果文本附加到textarea 如果你愿意,我可以找到一些示例代码 这是一个HTML文件,它有一个函数,可以对脚本log.php进行AJAX调用,返回一些内容(在本例中,它是一行非常简单的文本),然后将其附加到文本区域 当脚本加载时,我们设置了一个计时器,每1000毫秒触发一次(显然根据您的需要进行更改) 我们还有一个“取消更新”功能和一个“启动更新” 因此,将html文件和php文件(需要调用log.php,或者随意调用并更改代码)放在web服务器上的同一目录中,看看会发生什么
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
var http = createRequestObject();
var updateInt=self.setInterval("updateLog()",1000);
function startAutoUpdate(){
if(updateInt==""){
updateInt=window.setInterval("updateLog()",1000)
}else{
stop_Int()
}
}
function stopAutoUpdate(){
if(updateInt!=""){
window.clearInterval(updateInt)
updateInt=""
}
}
function createRequestObject() {
var objAjax;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
objAjax = new ActiveXObject("Microsoft.XMLHTTP");
}else{
objAjax = new XMLHttpRequest();
}
return objAjax;
}
function updateLog(){
http.open('get','log.php');
http.onreadystatechange = updateNewContent;
http.send(null);
return false;
}
function updateNewContent(){
if(http.readyState == 4){
document.getElementById('log').innerHTML = document.getElementById('log').innerHTML + http.responseText;
}
}
</script>
</head>
<body>
<h2>Log</h2>
<textarea cols="80" rows="10" name="log" id="log"></textarea>
<span onclick="updateLog()">Update</span><br>
<span onclick="stopAutoUpdate()">Cancel Auto Update</span><br>
<span onclick="startAutoUpdate()">Start Auto Update</span><br>
</body>
</html>
var http=createRequestObject();
var updateInt=self.setInterval(“updateLog()”,1000);
函数startAutoUpdate(){
如果(updateInt==“”){
updateInt=window.setInterval(“updateLog()”,1000)
}否则{
stop_Int()
}
}
函数stopAutoUpdate(){
如果(updateInt!=“”){
window.clearInterval(updateInt)
updateInt=“”
}
}
函数createRequestObject(){
var objAjax;
var browser=navigator.appName;
如果(浏览器==“Microsoft Internet Explorer”){
objAjax=newActiveXObject(“Microsoft.XMLHTTP”);
}否则{
objAjax=newXMLHttpRequest();
}
返回objax;
}
函数updateLog(){
open('get','log.php');
http.onreadystatechange=updateNewContent;
http.send(空);
返回false;
}
函数updateNewContent(){
如果(http.readyState==4){
document.getElementById('log').innerHTML=document.getElementById('log').innerHTML+http.responseText;
}
}
日志
更新
取消自动更新
启动自动更新
下面是php脚本(非常简单)
你能说得更准确些吗?这应该由用户触发还是由服务器触发?你能添加一些代码吗?目前你的问题有点不具体。你好。我不知道你在找什么。您是希望在运行php脚本时填充文本区域,然后将其呈现给用户,还是希望执行更“ajaxy”的操作并动态附加到文本区域?您无法仅使用php从服务器更改客户端上的内容。基本上,使用http根本不可能做到这一点,因为该协议实际上并不适用于这种类型的通信。但是您应该看看一些ajax功能,它们可以做类似的事情。更多ajaxy。PHP做了一些事情,应该附加到作为日志的textarea。Textarea位于单独的html-file.Thx中,用于澄清,但我们还需要更多。从用户看到的页面开始,告诉我们您希望发生什么?
<?PHP
/* Log responder script
*
* When invoked this script returns log entries
* as this is a sample it just returns a couple of random items
*
*/
echo "Log Entry ".date("d/m/y h:i:s")."\n";
?>