【发布时间】:2012-02-28 21:24:10
【问题描述】:
我正在处理一个表单,它有一个隐藏和显示 div 然后提交到页面的小部分。我的问题是,当我隐藏 div 并提交时,然后单击后退按钮,div 没有隐藏。这是我的代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
<script type="text/javascript" src="http://nix.lv/history/jquery-1.2.3.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function ($) {
$('#Contact').change(function () {
if ($(this).val() == ('Yes')) { $('#sentBy').show(); }
else { $('#sentBy').hide(); }
});
});
</script>
</head>
<body>
<form method="post" action="http://google.com">
<div><p><label for="Contact">Want an answer? </label><br />
<select size="1" name="Contact" id="Contact" onchange="toggle('hide', 'sentBy');">
<option value="Yes" selected="selected">Yes</option>
<option value="No">No</option>
</select></p>
</div>
<div id="sentBy">
this is a test
</div>
<input type="submit" value="wow"/>
</form>
</body>
</html>
【问题讨论】:
-
HTTP是stateless protocol- 按submit你会失去状态... -
当您提交表单时,您会获得该页面的新副本。当然你的 DIV 不会被隐藏。
-
JS 是客户端语言,当点击“返回”时它不会记住选择了哪个选项,除非你使用
cookies。 -
@OfirBaruch 或查询参数、会话变量或本地存储..
-
你是绝对正确的@paislee