【问题标题】:Delete Cookie With Button using JavaScript使用 JavaScript 删除带有按钮的 Cookie
【发布时间】:2014-05-17 13:24:34
【问题描述】:

我已经为此苦恼了好几天了,我只是筋疲力尽,需要指导。我是 JavaScript 新手,所以我提前道歉。我的目标是从表单中获取 3 个输入并将它们保存到 cookie 中。这是html表单部分:

<form name="userData" action="">

        <fieldset align="center">
            <legend align="center">Create a User Account</legend>

            <label>First Name: </label>
            <span>
                <input type="text" size="25" name="field1">
            </span>

            <label>Password: </label>
            <span>
                <input type="text" size="25" name="field2">
            </span>

            <label>Email: </label>
            <span>
                <input type="text" size="25" name="field3">
            </span>
        </fieldset>
    </form>
</div>  

<div align="center">
    <input type="submit" value="Set Cookies" onClick="setCookies();">
    <input type="submit" value="Show Cookie Data" onClick="showCookies();">
    <input type="button" value="Clear Cookies" onClick="clearCookies();">
</div>

提交表单数据后,用户应该会看到一个弹出窗口,显示他们刚刚填写的表单中的 cookie 信息。请记住,在填写所有三个字段之前,他们不应该能够提交表格。以下是迄今为止我编写的 Javascript 函数,第一个是设置 cookie 并显示弹出窗口:

function setCookies()
{
  if (document.userData.field1.value == "")
  {
    alert("Please Fill In All Form Values!");
    return;
  }

  else if (document.userData.field2.value == "")
  {
    alert("Please Fill In All Form Values!");
    return;
  }

  else if (document.userData.field3.value == "")
  {
    alert("Please Fill In All Form Values!");
    return;
  }

  else
  {
    cookievalue1 = escape(document.userData.field1.value);
    document.cookie = cookievalue1;

    cookievalue2 = escape(document.userData.field2.value);
    document.cookie = cookievalue2;

    cookievalue3 = escape(document.userData.field3.value);
    document.cookie = cookievalue3;

    alert("The Following Data Has Been Saved To a Cookie:\n" + "\nFirst Name = " + cookievalue1 + "\nPassword = " + cookievalue2 + "\nEmail = " + cookievalue3);
  }
}

现在这个函数绑定到第二个按钮,它只显示提交时保存的 cookie:

function showCookies()
{
  alert("First Name: " + cookievalue1 + "\nPassword: " + cookievalue2 + "\nEmail: " + cookievalue3)
}

第三个按钮,应该擦除 cookie 的那个按钮,我不知道该怎么做。非常感谢任何指导。我所拥有的只是我的函数中的这个警报,它应该在按下按钮并且执行逻辑(尚不存在)时显示:

function clearCookies()
{
  alert('Your Coookies Have Been Deleted')
}

再次,如果有人对简化有任何建议,我愿意接受。我不能再看这个了,我的眼睛感觉很酸,我能感觉到我头上的头发变白了。

【问题讨论】:

    标签: javascript html forms cookies


    【解决方案1】:

    你可以看到所有的W3C Examples,你会没事的!

    使用 JavaScript 删除 Cookie

    删除 cookie 非常简单。只需将 expires 参数设置为 通过日期:

    document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
    

    【讨论】:

      【解决方案2】:

      您可以通过将其 expires 参数设置为传递的日期来删除 cookie。例如:

      document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
      

      w3schools 有一个与您尝试做的非常相似的示例。在这里查看:http://www.w3schools.com/js/js_cookies.asp

      【讨论】:

      • 大声笑你的答案几乎是我的副本呵呵
      猜你喜欢
      • 2023-03-24
      • 2020-06-22
      • 2023-03-04
      • 2013-07-19
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 2018-01-20
      相关资源
      最近更新 更多