可能重复:提交后Html选择选项丢失数据
我有一个选择菜单,应该在页面刷新后保留选定的选项 . 这是一个例子:
<select id="form_frame" name="frame" onchange="getData(this);"/>
<option value="data1" selected="selected">Data 1</option>
<option value="data2">Data 2</option>
</select>
函数getData只是向用户提取信息 .
我正在使用Smarty / php作为动态内容 .
欢迎咨询,谢谢!
3 回答
你可以使用Cookies . 但是,如果您希望它为不接受您网站的Cookie的用户使用,请在网址后附加一个哈希标记 . 在更改选择字段时,您将更新哈希标记 . 在页面的加载中,检查当前的哈希标记并将select设置为其值与hash-tag的值匹配的选项 .
如何使用本地存储:
FIDDLE
将所选选项元素的id或值放在php会话中(
$_SESSION['selected_option_id']
),这样这个值就会传递给所有页面 . 然后更改生成选项元素的代码再次检查$_SESSION['selected_option_id']
,如果匹配1,则在option元素中设置selected属性 .由于HTTP是无状态协议,因此会话是在请求之间共享值的好方法 .
我更喜欢localStorage和cookies之前的会话,因为那些可能在客户端浏览器中不可用或启用 . 会话是apache / php的一个功能,在服务器端受支持 .
PHP Session Handling