在有人抱怨之前:我知道javascript是客户端,而php是服务器端。 我需要在我的javascript中调用一个php函数(两个都在同一个文件中)。
document.write("<?php add(); ?>");
从它应该调用php中的函数。主要问题是页面变白(就像我调用echo“”;),这不应该发生。我用一个完全空的测试()测试,结果出现了同样的问题。
回答我为什么要调用该函数的问题:我需要在按一个键时更新一个sql表。据我所知,它不可能在PHP中制作一个keylistener,并且在javascript中使用sql太不安全。
问候和求助
答案 0 :(得分:0)
当您在页面加载期间的任何其他时刻使用document.write
时,它将清除您的文档并将其替换为您传递的任何参数。从您的问题来看,您似乎在事件处理程序中运行此代码,就像keypressed
事件一样。在这种情况下,预期document.write
的行为会使您的页面变为白色。不要在那里使用它。
您需要做的是确定文档中要插入内容的位置,更准确地说,在哪个元素中插入内容,并为其提供内容。您可以使用多种方法,例如.innerHTML
,但不能使用document.write
。
其次,您应该了解当您传递一个参数,其中php
生成了值时,这些参数是在php
生成页面时计算的,而不是在相应的{{ 1}}执行。在后一刻,没有调用javascript
,因为php
已经在页面生成过程中完成了它的工作。
如果您想在浏览器中一个事件时执行php
功能,您应该向服务器发出php
请求。这可以通过提交表单,导航到其他http
或发出url
来完成。在这些情况下,服务器会收到请求,并且ajax
可以执行,这将再次生成内容并将其发送回浏览器。
您可以在互联网上找到示例php
代码,例如here。