我有一个使用slideToggle()隐藏的表单。我需要做的是允许用户在点击“显示表单”链接后查看表单,填写表单并点击提交。然后,如果有任何错误允许页面刷新,div仍然显示。
换句话说,如何防止slideToggle()在页面刷新时重置。否则,用户必须再次显示表单以查看错误。我只是使用基本的PHP_SELF和一些代码而不是AJAX,因为我想让它变得简单。
这是我目前的JS:
$('a#booknow').click(function() {
$('#formcontain').slideToggle('slow', function() {
$(this).toggleClass('houdini');
});
return false;
});
谢谢
答案 0 :(得分:2)
我会使用一个cookie,另外我会使用plugin(因为编写客户端cookie管理代码会让我受伤)。
$('a#booknow').click(function() {
$('#formcontain').slideToggle('slow', function() {
$(this).toggleClass('houdini');
});
$.cookie('form_visible', $('#formcontain').is(':visible').toString());
return false;
});
然后在页面加载:
$(function() {
if($.cookie('form_visible') == 'true') {
$('#formcontain').show();
} else {
$('#formcontain').hide();
}
});
答案 1 :(得分:1)
要保存状态,您应该使用客户端存储,例如cookie。 你可以在一个SESSION变量中保存JS的状态(然后你需要以某种方式告诉PHP状态是什么,也许是使用ajax)。