php怎么触发js函数,php如何调用js方法

博主遇到一个问题,在PHP处理表单提交后尝试调用前端JS方法展示弹出层,但出现找不到方法的错误。讨论中提到可能的原因包括JS文件未引入、方法定义在局部环境或使用了错误的调用方式。建议使用Ajax提交表单以保持页面不刷新,或者在PHP生成的新页面中处理。最后,博主采用了一个折衷方案,即在新页面中显示弹出层。
摘要由CSDN通过智能技术生成

form表单提交到后台PHP进行处理,处理完后需要调用前天js的一个方法展示一个弹出层,但是提示错误找不到这个js方法,调用方法是 直接echo 一段js代码。

回复讨论(解决方案)

应该是要在后台PHP页面中引入这个js方法。

而且貌似HTML点击提交表单的时候都是已经离开了本页面。

除非做一个Ajax方法,不要form了。直接Ajax提交。

点击按钮触发Ajax。这样原HTML不会刷新。

触发弹出层可以写在Ajax的onreadystatechange里

先引入js文件

php的要先执行,再输送到客户端,肯定找不到你的js方法

用ajax提交

贴出代码以供分析,错误提示也一并贴出。

在你echo 这个js方法前把你写的js引入

这个“js的一个方法”只在表单页中还是在表单目标页中?

你这需求.令人费解!!!

要么是这段js代码没有加载,要么是这段代码定义在局部环境中。

php如何调用js方法??

一个运行在服务器端一个运行在前端,从你发起请求在服务器端运行PHP脚本到返回结果两者都没有交集何来调用!

表单提交前后的html文档都不一样,要不就是用ajax请求php脚本获取数据然后用你的js方法处理,要不就是在php运行完后生产的新页面里面处理。

php中调用js,我一般都直接echo "";

就是echo直接输出。

找不到那个方法是因为你echo输出这段script之前并没有引用到你那个js方法的定义。

处理方法:1、你输出的js格式对不对,js 方法 必须有包起来

2,你输出的方法有没有引入。

建议你先输出一个alert试试,要是这个没问题,可以弹出窗体,就说明方法不对,或者没引入js了。

总结:

本来用ajax处理确实很简单,就不会出现这个问题了,但是如果需要上传图片就不能使用ajax了。所以我使用的是form提交 target指向一个隐藏的iframe

我试过使用加载js文件在echo之前,这样导致的问题是这个弹出层获取到了,但是却不能显示当前页,而是输出到隐藏的iframe.

最终使用了一直折中的方法,直接在一个新开页面显示。

以上谢谢各位答疑!

楼主 这个问题 我也在找解决的方法 你找到了 么 我试过使用加载js文件在echo之前,这样导致的问题是这个弹出层获取到了,但是却不能显示当前页 就是获取不了当前页 纠结

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值