我正在使用javascript在我的登录表单中存储cookie(记住我复选框),我希望如果用户选中该框=保存cookie,如果他取消选中它=删除cookie(如果保存了则为ofc) 。当用户提交表单(登录)时,这一切都应该发生。例如,当我放置一些按钮时,它会起作用,因此当我单击它时,cookies 就会被删除。 这是我的表格:
<form name="login-form" class="login-form" action="login_exec.php" onSubmit="if(this.checker.checked) toMem(this)" method="post">
这些是我的 js 函数:
function toMem(a) {
newCookie('theUsername', document.forms["login-form"]["username"].value);
newCookie('thePassword', document.forms["login-form"]["password"].value);
}
function delMem(a) {
eraseCookie('theUsername');
eraseCookie('thePassword');
document.forms["login-form"]["username"].value = '';
document.forms["login-form"]["password"].value = '';
}
好吧,我尝试这样做:
<form name="login-form" class="login-form" action="login_exec.php" onSubmit="if(this.checker.checked) {toMem(this)} else setTimeout(delMem(this), 3000)" method="post">
它不起作用...它在提交表单之前删除了输入。那么有人有想法吗?
最佳答案
function toMem(a) {
newCookie('theUsername', document.forms["login-form"]["username"].value);
newCookie('thePassword', document.forms["login-form"]["password"].value);
}
function delMem(a) {
eraseCookie('theUsername');
eraseCookie('thePassword');
//document.forms["login-form"]["username"].value = ''; i commented this out because
//document.forms["login-form"]["password"].value = ''; you dont want to delete the values if a user unchecks remember me
}
关于RememberMe 的 onSubmit 登录表单中的 JavaScript 超时函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20830452/