Javascript了解PHP何时更改了某些内容[重复]
Posted
技术标签:
【中文标题】Javascript了解PHP何时更改了某些内容[重复]【英文标题】:Javascript Understanding when PHP has changed something [duplicate] 【发布时间】:2020-08-06 08:05:38 【问题描述】:我试图让 javascript 知道我的 php 何时将某些内容回显到一个空的 div 中。我尝试了下面的代码
<div id = "container" onchange = "changeHandle()" style = "display: none">
<?php
if($condition) //condition was something from a different section of my PHP
echo "stuff from a database";
?>
</div>
<script>
function changeHandle()
alert("div has changed");
</script>
但是 changeHandle() 函数没有运行。 我尝试查找有关 Jquery 的 W3 学校的文档,但找不到任何可以帮助解决此问题的内容(我也是这方面的初学者,所以也许我误解了一些事情)。任何帮助将不胜感激!
编辑:所以有点上下文,我将它与某些形式结合使用。我的用户以某些形式输入数据,我在他们单击 Enter 后使用 PHP 查询数据库,然后将我得到的一些数据放回容器中。有没有办法获取我回显的数据并将其保存在 JS 中?
【问题讨论】:
查看div的textContent
的长度,还要调用函数。
@Teemu 好吧,我相信你,但我不知道 OP 期望它如何工作......
@AlonEitan 好吧,我没有注意到 div 标签中的onchange
。如果 OP 期望它起作用,那么 dup 真的会取而代之。
@Teemu OP 显然不了解服务器端代码和客户端代码之间的区别。是的,这是合法的 PHP 代码,但 onchange
处理程序不会执行 OP 所期望的。
@NakulUpadhya PHP 无法更新内容,除非您重新加载页面(将表单提交到同一页面)。如果您可以确认您正在重新加载,那么这是可以解决的。
【参考方案1】:
PHP 是服务器端代码并在服务器上运行之前请求被发送到客户端。 JS是客户端代码,请求发送到客户端后,在客户端(即网页浏览器)上运行。
换句话说,就 JS 而言,您的 div
的值没有改变。首次加载页面时,它已通过 PHP 设置。
【讨论】:
以上是关于Javascript了解PHP何时更改了某些内容[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Javascript 更改内容后滚动到 div 的底部