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 的底部

Googlebot何时执行javascript?

QML 文件的更改何时不生效?

检测 <td> 的内部 html 何时随 javascript 或 jquery 更改

PHP 时区问题 |英国夏令时和格林威治标准时间

何时更新商店