Xin chào (đây là một bản sao bài đăng của tôi trên danh sách gửi thư của Seaside; đầu tiên hãy thử tại stackoverflow), Làm cách nào để hiển thị màn hình hiển thị danh sách chọn xuống để hiển thị lựa chọn được cập nhật từ một phiên khác, trong Firefox? (Tôi đang sử dụng 3.6.13)Khi sử dụng thẻ HTML <select>, thay đổi giá trị 'đã chọn' không được hiển thị trong Firefox
Sự cố này không xuất hiện trong Chrome, IE hoặc Opera.
Đây là kịch bản: Tôi có đối tượng miền có thuộc tính được hiển thị trong danh sách thả xuống. Một số phiên khác cập nhật thuộc tính. Tôi làm mới màn hình của mình, nhưng lựa chọn được hiển thị không thay đổi. Sử dụng Firebug, html được tạo sẽ hiển thị lựa chọn được cập nhật. Đây có thể là kiến thức HTML cơ bản, nhưng giá trị được hiển thị không cập nhật để hiển thị tùy chọn 'đã chọn' đã thay đổi chưa? Hoặc là giá trị được thiết kế chỉ được đặt trên màn hình trang đầu tiên và sau đó chỉ bởi một hành động của người dùng?
Ví dụ: Tôi có một thành phần Seaside demo với biến lớp #testStateListSelection được chọn thành 'one' trong phiên Seaside. Nếu tôi thay đổi giá trị thành 'ba' trong phiên Seaside khác, giá trị được hiển thị vẫn là 'một' trong phiên ban đầu sau khi hiển thị lại, mặc dù "đã chọn" trong HTML được tạo cho thấy "ba".
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...
<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>
Làm thế nào để có được trình đơn thả xuống giá trị được lựa chọn để hiển thị 'ba'?
BTW: tất cả tôi biết về HTML hành vi & duyệt tôi đã học được từ mã hóa Seaside, vì vậy tôi có thể có một cái nhìn sai lệch ;-)
Cảm ơn sự giúp đỡ nào.
Khi bạn nói "sau khi render một lần nữa" - có trình duyệt chuyển đến trang khác, hay bạn chỉ làm mới (F5 hoặc tương đương) trang? – Gareth
Chỉ cần làm mới ... F5 hoặc nút "Tải lại trang hiện tại" –