嘿伙计们,所以我有一个界面,一旦用户登录他们的信息就会被检查,如果用户没有阅读 TOS,对话框就会打开。我的问题是,它永远不会打开。
代码:
function run(){
var url = '/pcg/termsofservice/termsofservice.php';
showUrlInDialog(url);
}
function showUrlInDialog(url){
var tag = $("#dialog-container");
$.ajax({
url: url,
success: function(data) {
tag.html(data).dialog
({
width: '100%',
modal: true
}).dialog('open');
}
});
}
// if user accepts
function agree(){
alert("Handler for .click() called.");
}
/******is user declines ******/
function decline(){
$("#dialog-container").dialog( 'close' );
/*****run ajax to kill session of current user and return to login page ******/
$.ajax({ url: '/PCG/termsofservice/declinedkill.php',
data: {},
type: 'post',
success: function(output) {
window.location.replace("/PCG/mainlogin.php");
}
});
}
PHP 检查他们是否没有阅读 TOS:
//GET TOS setting if any in place, if so display TOS
$TOS = $_GET['TOS'];
if ($TOS == 0){
echo '<script type="text/javascript">'
, 'run();'
, '</script>';
}
在上面的 javascript 代码中 -"#dialog-container"
仅在 $TOS 变量为 0 时定义:
<!-- See if TOS is active, if so add these divs for the overlay -->
<?php
echo '<div id="dialog-container">
</div>';
?>
除了没有任何显示之外,所有这些都有效。
如果您有任何想法有什么问题,请告诉我,谢谢:)