php中a标签能跳方法吗,a标签不能调用js方法的问题

本文探讨了在网页中JavaScript与PHP交互时遇到的问题,特别是关于函数调用的顺序。当在PHP中尝试调用一个在JavaScript中定义的函数时,由于JavaScript的执行顺序特性,可能会出现函数未定义的错误。解决方案是确保JavaScript代码在DOM加载完成后执行,例如使用window.onload。通过调整代码结构和理解这两种语言的执行流程,可以避免此类错误并确保函数正确调用。
摘要由CSDN通过智能技术生成

在我们做后台删除的时候,当点击删除标签时,你希望弹出一个友好的提示框!比如这样:

53f419ce212a17ded707ad2624eeca05.png

那代码应该怎样写呢?向下面这样?

window.οnlοad=function () {

function confirmdelete(id) {

return window.confirm("你确定要删除吗?");

}

}

echo "删除";?>

你会发现会发生这样一个错误:

e2de5226828a7b881072b91120cfacba.png

该函数没有被使用?不应该啊,我在php里面不是已经调用了么?

注意:

5dadc267a81ab840d871fc47b6f43b4d.png

想必写过前端的人都知道这个方法是在页面全部加载完成之后执行,那么问题就来了,php的执行顺序是先于js的,所以当执行php的时候,发现a标签里面的方法并不存在,因为此刻js还没有被执行,所以就导致了php a标签调用js的时候没有反应这种情况了。

那么代码变成这样呢?

function confirmdelete(id) {

return window.confirm("你确定要删除吗?");

}

echo "删除";?>

结果是成功执行!有人说不对啊,你不是说php的执行顺序要先于js么,这个和上面没什么区别啊。

那么此刻就要注意了,有了window.onload这个方法约束后,该js是最后执行,那么 当去掉这个约束,你会发现这个函数

eed229bfbc14a3fecd95b5fba0364821.png

只是一个声明,在js当中,对于只是声明的函数,它会最先编译,所以这时候当执行到php的a标签时,因为它要调用的函数已经预先编译好了,所以就能够调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值