我有一个人们可以进行在线测试的应用程序,当用户移动到另一个页面时,页面应该提醒,如果你离开页面,你可能会丢失细节......
我尝试了window.unload()
,但我需要的是它应该只在用户移动到另一个页面时显示警告
例如:我的网页ID test.php
如果用户点击下一个问题的下一个按钮,该页面将重定向到test.php?queNumber=2
所以当重定向发生在test.php上时,如果它重定向到其他页面,如about.php或help.php它应该警告,它应该不显示警告,如何实现这个???
提前致谢
答案 0 :(得分:0)
这是由Javascript控制的客户端。
最简单的方法是使用jQuery,因为您可以轻松地执行此操作。
将jQuery添加到您的头脑中 - 链接的jQuery页面上的详细信息。
在您的HTML中,将类添加到您要提醒用户的任何链接,例如
<a href=".." class="pop">Link Text</a>
然后按照
的方式添加一些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的链接,其余的没有标记类。然后检查所有链接,如果他们有课程,请不要提示。
答案 1 :(得分: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');
}
});