我创建了一个包含表单的HTML页面。每当用户关闭此表单时,它就会消失。现在我要做的是删除此表单,这样即使刷新页面后它也不会出现。有人知道吗?
答案 0 :(得分:0)
您的问题很模糊,但是您可以尝试以下方法:
display: none
在html表单中(一种灵活的方法是为此使用css类)。display: none
,使其可见。display: none
类。这当然是独立于Angular的解决方案。
答案 1 :(得分:0)
仅使用JavaScript和JQuery是不可能的,您唯一可以做到的方法是将cookie
或密钥保存在localStorage
中,并在页面加载时使用它来显示/用一些CSS隐藏表单。
但是,出于安全性考虑,不建议这样做,因为您的用户可以只显示您的表单,而仍然可以通过删除其localStorage
键,cookie
或修改CSS样式来显示它来使用它。
答案 2 :(得分:0)
我解释您的模糊问题的方式,我相信这可以帮助您...
例如:
<form id="frm">
....
</form>
<button id="btnCloseForm"></button>
您可以使用JQuery来实现:
//create cookie when clicked
$("#btnCloseForm").click(function() {
createCookie("frmclosed","true",10);
});
//if cookie exists, remove form
if (readCookie("frmclosed") != null)
$("#frm").remove();
// Cookies
function createCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
答案 3 :(得分:0)
一种方法是删除表单。如果在会话存储中存在密钥时刷新页面,则将表单ID作为sessionStorage.setItem(“ somekey”,formId)存储在本地存储或会话存储中在表单中添加display:none。