Bob*_*mec 5 html firefox seaside
您好(这是我在Seaside邮件列表上发布的帖子的副本;首先尝试使用stackoverflow),如何获取下拉选择列表的呈现显示以在Firefox中显示来自另一个会话的更新选择?(我正在使用3.6.13)
此问题不会出现在Chrome,IE或Opera中.
下面是场景:我有一个域对象,其属性显示在下拉列表中.其他一些会话更新该属性.我刷新我的显示,但渲染的选择不会改变.使用Firebug,生成的html显示更新的选择.这可能是基本的HTML知识,但如果显示的值不更新以显示更改的"选定"选项?或者是仅在初始页面显示上设置的值,然后仅由用户操作设置?
示例:我有一个示例Seaside组件,其中包含一个类变量#testStateListSelection,它在Seaside会话中被选为"1".如果我在另一个Seaside会话中将值更改为"3",则再次渲染后显示的值在原始会话中保持为"1",即使生成的HTML中的"已选择"显示为"3".
renderSelectionListOn: html
html form: [
html select
list: #('one' 'two' 'three' 'four' 'five');
selected: self class testStateListSelection;
callback: [:value | self class testStateListSelection: value].
html break.
html submitButton
callback: [Transcript cr; show: self class testStateListSelection];
with: 'Save']
...the displayed value shows 'one', even though the HTML is...
Run Code Online (Sandbox Code Playgroud)
<select name="1">
<option value="1">one</option>
<option value="2">two</option>
<option value="3" selected="selected">three</option>
<option value="4">four</option>
<option value="5">five</option>
</select>
如何让下拉选择值显示为"三"?
顺便说一句:我所知道的关于HTML和浏览器行为的所有知识我都是从编写Seaside时学到的,所以我可能有一个偏斜的观点;-)
谢谢你的帮助.
问题是,当您刷新页面时,浏览器会记住之前选择的选项.此功能旨在使长表单中更难丢失表单数据,并在Mozillazine论坛上进行了一些讨论
而不是刷新页面.如果您通过转到地址栏并按回车键加载页面"新鲜",您将再次从服务器加载页面 - 更新select