如何触发javascript确认警报只显示一次

时间:2017-03-29 01:51:49

标签: javascript jquery jsp

如果特定用户的密码即将过期,我创建了一条确认提醒信息,要求他们更改密码。

我在标题中为此创建了一个函数 如果用户成功登录,他们将被定向到主页(我称之为功能 - index.jsp) 用户成功登录时,将显示确认警报(如预期) 然后,每次用户点击主菜单(index.jsp页面)时,确认提醒都会再次显示。

如何让它只出现一次?
我想让它在用户成功登录页面时显示。

任何人都可以提供帮助?非常感激。

这是header.jsp

function pwdAlert(){
  <%if(!headerexpDay.equals("") && Integer.parseInt(headerexpDay) <= 10 ){%>
    var expDay = "<%=headerexpDay%>";

    if(confirm("Your login password will be expired in "+expDay+" day(s). Do you want to change password?")){
      document.frmHeader.method = "POST";
      document.frmHeader.action= "<%=request.getContextPath()%>/admin/frmChangePassword.jsp";
      document.frmHeader.target= "_self";
      document.frmHeader.submit();
    }
  <%}%>
}

这是在我调用函数的index.jsp(主页)中。

<SCRIPT>
  document.onreadystatechange = function () {
    if (document.readyState === "complete") {
      pwdAlert();
    }
  } 
</SCRIPT>

1 个答案:

答案 0 :(得分:0)

使用cookies,步骤可以描述如下:

  1. 读取cookie变量(名称:isIgnored作为示例)
  2. 如果isIgnored === false,请运行pwdAlert()
  3. 在您的pwdAlert中,更改您的promt代码

    if(confirm("Your login password will be expired in "+expDay+" day(s). Do you want to change password?")){ 
        // Your own code here
    } else {   
        // Set the cookie variable: isIgnored = true 
    }
    
  4. 这显示如何使用Cookie:https://www.w3schools.com/js/js_cookies.asp