我有一个向所有新网站访问者显示的注册表单。如果用户填写表单,下次他们访问该网站时,我希望显示一条“欢迎回来”消息,表单通常会在此处显示。
我试图通过jquery cookie插件(http://plugins.jquery.com/project/Cookie)来做到这一点。
我的表单看起来像这样:
<div id="sign_up_form_wrapper"><form id="sign_up" action="" method="POST" name="form">
<input type="checkbox" name="checkbox" id="checkbox" value="1"> I accept the terms and conditions</a>
<br /><br /><input type="submit" value="ENTER">
</form></div>
我在这里设置我的cookie:
<script type="text/javascript" language="javascript">
$().ready(function()
{
$('#sign_upm').submit(function(e)
{
e.preventDefault();
if ($('#sign_up input[name=checkbox]').is(':checked'))
{
$.cookie('agreed_to_terms', '1', { path: '/', expires: 999999 });
}
});
});
</script>
当用户选中该框时会设置cookie,但现在我需要做这样的事情:
如果已设置cookie,请执行以下操作:
<div id="sign_up_form_wrapper">
<p>Welcome back, John</p>
</div>
否则这样做:
<div id="sign_up_form_wrapper">
<!-- full form code here -->
</div>
非常感谢任何想法或指示,谢谢。
答案 0 :(得分:0)
只需获取cookie并检查它是否已设置。
var $signupFormWrapper = $('<div />');
if ( 1 == $.cookie(agreed_to_terms) )
{
var $message = $('<p />').html('Welcome back, John');
} else {
var $message = $('<p />').html('<form>Your full form</form>');
}
$signupFormWrapper.append($message);
根据必须触发的事件
,在您想要的地方执行此操作答案 1 :(得分:0)
是。将其添加到
});
</script>
答案 2 :(得分:0)
BorisGuéry很接近:
HTML:
<div id="sign_up_form_wrapper">
<!-- full form code here -->
</div>
JavaScript的:
$(function () {
if ($.cookie('agreed_to_terms') == 1) {
$('sign_up_form_wrapper').html('<p>Welcome back, John</p>');
}
});