PHP-记住页面上已选中的复选框-最好的方法是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-记住页面上已选中的复选框-最好的方法是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1749字,纯文字阅读大概需要3分钟。
内容图文
![PHP-记住页面上已选中的复选框-最好的方法是什么?](/upload/InfoBanner/zyjiaocheng/651/158f34351d8c4e898ccd2d6152d800e8.jpg)
我需要添加类似于Gmail的功能,该功能可以在多页结果中以及离开并返回到结果时记住项目列表中的复选框.我要弄清楚的是这样做的最好方法.我正在使用PHP,可能还有jQuery.
我首先想到的是向每个复选框添加一个onClick,以触发对服务器的AJAX调用,该AJAX调用将ID存储在会话中的数组中.每次加载项目列表时,系统都会检查是否选中了该行,并在必要时选中该复选框.为了提高可靠性,在检查对服务器的请求是否无法完成(连接问题,服务器错误等)之后,将取消选中该复选框,并且将尽可能快地做出请求.
听起来不错,除了以下几点:
>全部检查:会发生什么?它是否将30个(默认页面项目)请求发送到服务器?还是我要删除所有onClicks,选中复选框,将包含所有ID的请求发送到服务器,然后重新添加onClicks?要么…?取消全部选中类似问题.
>速度:如果数百位用户一直都在检查和取消检查,则可能会出现问题
>浏览器速度:我认为最好是在页面加载后在onClick中添加JS,我想如果一页上有500个或更多项目,则可能需要一秒钟或两秒钟.检查所有将成为更大的问题.
过去,我还没有找到一种可靠的方法来检测用户何时离开页面.如果有可靠的方法,那么我可以看到这是一个选择,因此它仅记录在卸载的每个页面上.
还有其他解决方案或更好的方法吗?
编辑:如Eran Galperin所述,全部检查方法只需要检查每个复选框,然后对所有行进行ajax调用.无需删除onClick.
同样,看起来事件委托方法是个好主意-会使事情变得容易得多.
解决方法:
>以编程方式更改复选框的选中状态时,不会触发onclick事件.当用户单击全部选中/取消选中所有链接时,您可以发送不同的AJAX请求,而不必担心附加到各个复选框的点击事件.
>这是每次点击使用请求时的权衡.或者,使用“保存”按钮保存整个表单.
>使用event delegation-将一个onclick事件附加到保存所有复选框的整个容器,并检查事件的目标以查看是否单击了复选框.另外,我个人将避免在同一页面上显示500个不同的选项.如果绝对需要有这么多选择,请将它们分成几个区域/页面.
对于离开该页面的用户,您可以使用onbeforeonload事件,但是如果浏览器崩溃或以其他方式异常退出,将不会被捕获.使用它取决于捕获用户更改的关键程度.
内容总结
以上是互联网集市为您收集整理的PHP-记住页面上已选中的复选框-最好的方法是什么?全部内容,希望文章能够帮你解决PHP-记住页面上已选中的复选框-最好的方法是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。