当前位置:Gxlcms > PHP教程 > Easyui---模态对话框实现ESC键一键锁屏(输入密码解锁)

Easyui---模态对话框实现ESC键一键锁屏(输入密码解锁)

时间:2021-07-01 10:21:17 帮助过:10人阅读

1 功能

??通过按ESC键,促发模态对话框,从而使除了对话框之外的界面都不能操作,这样能够在工作人员离开时,防止别人操作页面,而只能通过本人的密码才能解除锁屏。

Easyui---模态对话框实现ESC键一键锁屏(输入密码解锁)

2 功能实现

??通过jQuery的按键松开检测事件keyup(),当按下ESC松开时,会触发该事件,从而进入事件的运行函数keyup(),在这个函数里面我们将模态对话框调出来,从而锁屏。
??锁屏后,模态对话框中可以输入密码和提交,将输入的内容进行ajax判断,密码正确则关闭模态对话框,密码错误不动作。

  1. <code>keyup事件运行函数
  2. </code>
  1. <code>$(document).keyup(<span><span>function</span><span>(event)</span>{</span><span>switch</span>(event.keyCode){
  2. <span>case</span><span>27</span>:
  3. {
  4. <span>//检测按键:ESC,锁住网页</span><span>//alert("ESC");</span>
  5. $(<span>'#dlg-lock'</span>).dialog(<span>'open'</span>).dialog(<span>'center'</span>);
  6. $(<span>'#lock_form'</span>).form(<span>'clear'</span>);
  7. }
  8. <span>break</span>;
  9. }
  10. });</code>
  1. <code>模态对话框
  2. </code>
  1. <code><span><!-- 一键锁定屏幕解锁对话框 模态对话框 --></span><span><<span>div</span><span>id</span>=<span>"dlg-lock"</span><span>class</span>=<span>"easyui-dialog"</span><span>style</span>=<span>"width:360px;height:120px;"</span><span>data-options</span>=<span>"closed: true,modal:true,title:''"</span>></span><span><<span>form</span><span>id</span>=<span>"lock_form"</span>></span><span><<span>div</span><span>style</span>=<span>"float:left;"</span>></span><span><<span>label</span><span>style</span>=<span>"margin-right:5px;height:30px;font-size:12px;"</span>></span>解锁密码:<span><!--<span-->label</span>><span><<span>input</span><span>class</span>=<span>"easyui-textbox"</span><span>style</span>=<span>"float:left;width:250px;height:30px;"</span><span>type</span>=<span>"password"</span><span>id</span>=<span>"unlock_passwd"</span><span>data-options</span>=<span>"required:true,prompt:'请输入解锁密码!'"</span>/></span><span><!--<span-->div</span>><span><<span>div</span><span>style</span>=<span>"float:left;margin-left:115px;margin-top:5px;"</span>></span><span><<span>a</span><span>href</span>=<span>"javascript:void(0)"</span><span>class</span>=<span>"easyui-linkbutton c3"</span><span>style</span>=<span>"float:left;width:80px;height:26px;"</span><span>onclick</span>=<span>"unlockSubmit('{$login_name}');"</span>></span>提交<span><!--<span-->a</span>><span><!--<span-->div</span>><span><!--<span-->form</span>><span><!--<span-->div</span>></code>
  1. <code>密码提交ajax处理
  2. </code>
  1. <code><span><span>function</span><span>unlockSubmit</span><span>(login_name)</span>
  2. {</span><span>var</span> passwd = document.getElementById(<span>'unlock_passwd'</span>).value;
  3. $.ajax({
  4. url: localhostPaht + <span>'/Home/Operator/unlockSubmit/'</span>,
  5. type: <span>'POST'</span>,
  6. dataType: <span>'json'</span>,
  7. data: {
  8. <span>'passwd'</span>: passwd,
  9. <span>'login_name'</span>:login_name
  10. },
  11. success: <span><span>function</span><span>(data)</span>{</span><span>if</span>(data == <span>1</span>){
  12. $(<span>'#dlg-lock'</span>).dialog(<span>'close'</span>);
  13. }
  14. <span>else</span><span>if</span>(data == <span>0</span>) {
  15. }
  16. },
  17. error: <span><span>function</span><span>()</span>{</span>
  18. alert(<span>"解锁出错!"</span>);
  19. }
  20. });
  21. }</code>
  1. <code>后台处理代码
  2. </code>
  1. <code><span>public</span><span><span>function</span><span>unlockSubmit</span><span>()</span>{</span><span>if</span>(IS_POST){
  2. <span>$passwd</span> = <span>$_POST</span>[<span>'passwd'</span>];
  3. <span>$login_name</span> = <span>$_POST</span>[<span>'login_name'</span>];
  4. }
  5. <span>$passwd</span> = md5(<span>$passwd</span>);
  6. <span>$sql</span> = <span>"select count(*) as count from t_user where login_name='%s' and passwd='%s';"</span>;
  7. <span>$data</span> = M()->query(<span>$sql</span>,<span>$login_name</span>,<span>$passwd</span>);
  8. <span>if</span>(<span>$data</span>[<span>0</span>][<span>'count'</span>] > <span>0</span>){
  9. <span>$this</span>->ajaxReturn(<span>'1'</span>);
  10. }
  11. <span>else</span> {
  12. <span>$this</span>->ajaxReturn(<span>'0'</span>);
  13. }
  14. }</code>

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了Easyui---模态对话框实现ESC键一键锁屏(输入密码解锁),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 人气教程排行