【发布时间】: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