2

我有一个应用程序,人们可以在其中进行在线测试,当用户移动到另一个页面时,页面应该会发出警报,就像如果你离开页面,你可能会丢失详细信息......我试过了,window.unload()但我需要的是它应该显示仅在用户移动到另一个页面时发出警报

例如:我的页面 ID test.php ,如果用户单击下一个问题的下一个按钮,页面将重定向到,test.php?queNumber=2 因此当重定向发生在 test.php 时,如果它重定向到 about.php 或 help.php 等其他页面,它不应该显示警报,它应该发出警报,怎么达到这个???

提前致谢

4

2 回答 2

0

这是由 Javascript 控制的客户端。

最简单的是使用jQuery,因为你可以很容易地做到这一点。

  1. 将 jQuery 添加到您的头脑中 - jQuery 页面上的详细信息,已链接。

  2. 在您的 HTML 中,为您想要提醒用户的任何链接添加一个类,例如

    <a href=".." class="pop">Link Text</a>
    
  3. 然后沿线添加一些Javascript

    $().ready( function() {
        $('.pop').click( function(e) {
           if (! confirm('You are about to leave - are you sure')) {
               e.preventDefault();
               return false;
           } else {
               return true;
           }
        });
    });
    

注意:如果您有太多链接或未知链接,您可以反转逻辑以仅标记您不想警告的那些链接。所以将类添加到 test.php 的链接中,其余部分不要标记类。然后检查所有的链接,如果有类,就不要提示了。

于 2012-11-07T11:54:54.960 回答
0

您可以将事件分配给页面中的所有锚点。这个事件应该检查​​锚的href是否包含'test.php'。

试试下面的代码:

$('a').click(function(event) {
   var href = $(this).attr('href');
   if(href.indexOf('test.php') == -1) { //if href does not contain test.php
      event.preventDefault();
      alert('You are about to leave');
   }
});
于 2012-11-07T12:00:42.470 回答