可能的错误以<&选择GT;<选项>值修改和后退按钮在Chrome [英] Possible bug with <select><option> value modification and Back button on Chrome

查看:128
本文介绍了可能的错误以<&选择GT;<选项>值修改和后退按钮在Chrome的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Chrome版本(输入about:版本28.0.1491.0金丝雀和26.0.1410.65谷歌浏览器):
操作系统(Mac OS X的山狮):
该问题仅出现在Chrome Canary版和普通谷歌浏览器。
有与Firefox,Safari浏览器IE9也(视窗测试)最新版本没有任何问题。

下面改变所有stateBill值的code是相同的文本值。

然后提交到另一个页面,并单击后退浏览器页面的按钮。所选的选项是不可见的(即它显示为空白)的下拉,尽管HTML源仍显示其选中。

如果我不执行jQuery函数,并提交和单击后退浏览器上,所选的选项文本出现在下拉列表中正确。

也许它在Chrome上的问题镀铬或者它的JavaScript jQuery的。

任何想法?

 <!DOCTYPE HTML PUBLIC -  // W3C // DTD HTML 4.01 // EN
    http://www.w3.org/TR/html4/strict.dtd
    >
< HTML和GT;
< /头>
&LT;脚本的src =// ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js\"></script>
&LT; /头&GT;
&LT;身体GT;
&LT;形式的目标=_自我行动=htt​​p://google.com&GT;
    点击提交。当它关系到谷歌,点击浏览器的后退按钮&LT; BR /&GT;
    会看到下拉菜单是空的!
    &所述;! - 缩状态列表 - &GT;
    &LT;选择名称=stateBill级=必需的ID =stateBill&GT;
        &LT;期权价值=&GT; - 选择 - &LT; /选项&GT;
        &LT;期权价值=1&GT;阿拉巴马州和LT; /选项&GT;
        &LT;期权价值=2&GT;阿拉斯加&LT; /选项&GT;
        &LT;期权价值=3&GT;美属萨摩亚&LT; /选项&GT;
        &LT;期权价值=选择=选择&GT4;亚利桑那&LT; /选项&GT;
        &LT;期权价值=5&GT;阿肯色州&LT; /选项&GT;
    &LT; /选择&GT;
    &LT;输入类型=提交值=提交&GT;
&LT;形式为GT;
&LT; /身体GT;
&LT;脚本&GT;
$(函数(){
    //将所有状态值是相同的状态文本。
    VAR文本;
    $(#stateBill选项:GT(0))。每个(功能(I,J){
        文字= $(J)的.text();
        $(J).VAL(文本);
    });
})
&LT; / SCRIPT&GT;
&LT; HTML和GT;


解决方案

我发现了一个简单的解决方法通过创建一个隐藏的文本,只是前提交或更改其设置为选择的值。

Chrome Version (type about:Version 28.0.1491.0 canary and 26.0.1410.65 Google Chrome): Operating System (Mac OS X Mountain Lion): The problem only occurs with Chrome Canary and regular Google Chrome. There is no issue with Firefox, Safari nor IE9 (Windows tested) latest versions.

The code below changes all the stateBill values to be the same as the text values.

Then submit it to another page and click Back button of browser page. The selected option is NOT visible (ie it shows blank) on the drop down, even though the html source still shows it selected.

If I don't execute the jquery function and submit and click Back on browser, the selected option text appears in the dropdown list correctly.

Maybe its jquery on chrome or maybe its javascript on Chrome issue.

Any ideas?

<!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>

解决方案

I found an simple workaround by creating a hidden text and just before a submit or change set it to the selected value.

这篇关于可能的错误以&lt;&选择GT;&LT;选项&GT;值修改和后退按钮在Chrome的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆