PHP中的Javascript警报框。警报POPS时,删除灰色/白色背景

时间:2012-07-21 17:49:54

标签: php javascript

现在我在这里得到的是在填写index.php表单后正确登录信息后提醒“你已成功登录”的脚本...

在我的check_login.php中,这些是脚本...... 到目前为止

if($count['user_type']== "agent"){

session_register("myusername");
session_register("mypassword");

echo '<script type="text/javascript">window.onload = function() {
alert("You have logged in successfully!\n");}</script>';
echo "<meta http-equiv=\"refresh\" content=\"0;URL=pages/agent.php\">";
exit();
//header("location:pages/agent.php");
}
if ($count['user_type']== "moderator"){

session_register("myusername");
session_register("mypassword");
header("location:pages/moderator.php"); 
}
else {
echo "<script type='text/javascript'>alert('Invalid Login! Please Try Again!');</script>";
echo "<meta http-equiv=\"refresh\" content=\"0;URL=index.php\">";
}

警告框完全正常但是..我希望它在背景仍然可见(index.php)时弹出,然后点击OK ...它将重定向到我的代码中的页面 - &gt ;到“agent.php”

我用过

echo "<meta http-equiv=\"refresh\" content=\"0;URL=pages/agent.php\">";

重定向成功登录的用户..

但在重定向过程之前......我希望用户看到一个警告框。

我的观点是,当背景仍然可见时,如何使警报框自动弹出。我注意到在Firefox中,它在Gray bg中,而在Chrome中等等...... bg是白色的......

请帮助。在此先感谢:|

2 个答案:

答案 0 :(得分:2)

我认为没有办法改变默认警报框的外观,但谁说你不能自己制作。

根据需要随意修改。它基本上是一个自定义警报功能,它使用两个参数,消息和回调函数,当使用“确定”按钮解除警报时执行。

function customAlert(m,func){
  var d=document, 
      c=d.createElement('div'),
      e=d.createElement('div'), 
      f=d.createElement('div'),
      a=d.createElement('button');
      c.style.cssText = 'background:#fff;width:200px;height:100px;border:1px solid #bbb;border-radius:6px;position:absolute;z-index:999;top:25%;left:25%;font:13px arial;box-shadow:0 0 10px #ccc;';
      e.style.cssText = 'background:#ccc;padding:5px;border-bottom:1px solid #aaa;';
      f.style.cssText = 'text-align:center;padding:10px;';
      a.style.cssText = 'display:block;margin:0 auto;padding:2px 8px;';
      a.innerText = 'Ok';
      a.onclick = function(){
        d.body.removeChild(c);
        func();
      }
      e.innerHTML = '<b>Alert</b>';
      f.innerHTML = m;
      c.appendChild(e);
      c.appendChild(f);
      c.appendChild(a);
      d.body.appendChild(c);
      return false;
}

customAlert('some message',function(){
  /*code to do when they click OK*/
 location.href='pages/agent.php';
});​

请参阅此处的示例:http://jsfiddle.net/E6h8C/

希望有所帮助。

答案 1 :(得分:0)

警报弹出窗口通常会延迟页面加载。 使用原始alert()函数没有任何解决方案。