【发布时间】:2013-04-22 15:06:28
【问题描述】:
Chrome 版本(键入 about:版本 28.0.1491.0 canary 和 26.0.1410.65 Google Chrome): 操作系统(Mac OS X Mountain Lion): 该问题仅发生在 Chrome Canary 和常规 Google Chrome 上。 Firefox、Safari 或 IE9(Windows 测试)最新版本都没有问题。
以下代码将所有 stateBill 值更改为与文本值相同。
然后将其提交到另一个页面并单击浏览器页面的返回按钮。所选选项在下拉菜单中不可见(即显示为空白),即使 html 源代码仍显示它已选中。
如果我不执行 jquery 函数并提交并在浏览器上单击返回,则所选选项文本正确显示在下拉列表中。
也许它在 chrome 上的 jquery 或者它在 Chrome 问题上的 javascript。
有什么想法吗?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"
>
<html>
</head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<form target="_self" action="http://google.com">
Click Submit. When it goes to google, Click Back button of browser.<br/>
Will see that drop down is empty!
<!-- Abbreviated states list -->
<select name="stateBill" class="required" id="stateBill">
<option value="">- Select -</option>
<option value="1">Alabama</option>
<option value="2">Alaska</option>
<option value="3" >American Samoa</option>
<option value="4" selected="selected">Arizona</option>
<option value="5">Arkansas</option>
</select>
<input type="submit" value="Submit">
<form>
</body>
<script>
$(function(){
// Change all state values to be the same as the state text.
var text;
$("#stateBill option:gt(0)").each(function(i,j){
text=$(j).text();
$(j).val(text);
});
})
</script>
<html>
【问题讨论】:
-
您是在寻找解决方法、解释还是什么?
-
我找到了一个简单的解决方法,方法是创建一个隐藏的 文本,然后在提交或更改之前将其设置为所选值。还有其他建议吗?我想我想知道这是一个错误还是我做错了什么。
-
我偶然发现了同样的问题,在对我自己的代码进行了数小时的研究后,我得出了同样的结论。 autocomplete=off 立即修复了它。
-
这只是我现在的想法。 6年后。我们知道它的根源吗?
-
没有。只需使用建议的解决方法之一,然后继续 :)
标签: google-chrome button back