谁能告诉我为什么这不起作用?
我创建的调查一次只能提出一个问题。我想提醒用户,如果他们尝试离开(工作),但允许他们在最后一个问题(不工作)之后离开。
当然,如果有更优雅的方式来做到这一点,我可以接受以下建议。
以下是我所拥有的:
page1.php中
包含以下JS和div来保存使用.html()从页面Page2.php加载的问题。
function window_on(e) {
if (e=='turnon') {
alert(e); // THIS I RECEIVED
$(window).on('beforeunload', function(){
return 'Are you sure you want to navigate away from this page?';
});
} else {
alert(e); // THIS I DO NOT RECEIVE
$(window).off('beforeunload');
}
}
Page2.php
我得到了#34; turnon"每次Page2.php在调查结束时加载EXCEPT时发出警报。我应该得到"岔路口"那么警惕,但不要。如果我试着离开页面,我仍会收到弹出窗口。
除了window_on('关闭')之外,一切都有效。
<?php
if ($next_q=='end') { // IF END ?>
<script>
window_on('turnoff'); // FOR TESTING
add_progress(<?php echo $progress; ?>) // WORKING
</script>
<?php } else { ?>
<script>
add_progress(<?php echo $progress; ?>) // WORKING
window_on('turnon'); // FOR TESTING
</script>
<?php } ?>