扫码关注官方订阅号
有时候,你可能有这样的需求,就是提交表单的时候,不想刷新本页面。但你又不想用ajax,有什么方法呢?这时可以在页面中用
大家注意到这个form的target的了么?这个target属性的值frameFile,是form之后的iframe的name值,这样的写法是让当前的form表单在提交表单内容的时候转交给iframe中进行页面中表单处理,并且不会产生当前页面跳转!
这个iframe拿到post过来的表单数据后会开始在自身内部访问post过来的页面地址,在内部中它会刷新页面,但是这已不重要了,因为当前的iframe已经被我display:none隐藏了!所以这样给用户看起来像是无刷新的页面,其实只是做一个一个小小的技巧!
现在的问题是你可能要在提交成功后给用户一个友好的提示,该怎么做到呢?
这是你可以先在页面中格式好一段HTML提示,然后把它隐藏起来,像下面这样子
然后在服务器端PHP后台这样处理
<?php header('Content-Type: text/html; charset=utf-8'); $html_str = '<script type="text/javascript"> window.parent.document.getElementById("join_circle_success_tip").innerHTML=\''.$html_str.'\'; window.parent.document.getElementById("join_circle_success_tip").style.display="block"; </script>'; exit($html_str); ?>
由于提交到 iframe 窗口中,所以在代码必须用 window 的 parent 属性才能访问到父窗口。
那种文件伪Ajax上传的方式就是这样实现的。因为Ajax不支持文件上传,所以不想刷新本页面,这种方法非常有用。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部