我想在用户提交表单时设置Cookie。
我正在处理一些基于用户选中复选框设置cookie的遗留代码,但希望在用户提交表单时简单地设置cookie。
这就是我所拥有的,当选中复选框时,它会起作用:
$().ready(function()
{
$('.application-form').submit(function(e)
{
e.preventDefault();
if ($('.application-form input[name=marketing]').is(':checked'))
{
$.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 });
}
});
});
这很好用,但我不想在检查“营销”输入时设置cookie,而只是在表单提交时。像这样:
$().ready(function()
{
$('.application-form').submit(function(e)
{
e.preventDefault();
if ($('.application-form').submit();)
{
$.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 });
}
});
});
但是,这并没有成功设置cookie,任何想法都会很棒,谢谢。
答案 0 :(得分:5)
$(document).ready(function() {
$('.application-form').submit(function(e) {
e.preventDefault();
$.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 });
});
});
你不需要那里的if条件,因为它似乎正在测试表单是否已经提交,并且你已经知道它有,因为你在表单的提交事件处理程序中。
答案 1 :(得分:5)
如果条件允许,您无需检查提交返回值。
$().ready(function()
{
$('.application-form').submit(function(e)
{
e.preventDefault();
$.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 });
});
});