是否可以使用后退按钮保留窗体单选选项



用户可以选择一个单选按钮,根据选择的单选按钮,可以显示一个输入字段,询问其他信息。用户提交表单;然后说他们需要返回并更改表单。当他们返回时,输入字段不再显示,而是选择了正确的单选按钮。

答案只需要在IE8+中工作即可。使用jQuery作为解决方案的一部分也是一种选择。

--===使用jQuery插件simsalabim===--于2012年7月31日更新

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<!---<script src="sisyphus.min.js"></script>--->
<script type="text/javascript" src="https://raw.github.com/simsalabim/sisyphus/master/sisyphus.min.js"></script>
<script>
$(document).ready(function(){
    $('#form1').sisyphus();
});
</script>
</head>
<body>
<script>
    function ToggleColorOptions(el) {
    if (el == 'Std')
            {
        $('#Option1').show();
        $('#Option2').hide();
    }
        else if (el == 'Non')
            {
                $('#Option1').hide();
                $('#Option2').show();
            }
        }
</script>
<form id="form1" action="myTesta.cfm" method="post">
<input name="StdRNonStdOption" type="radio" id="StdRNonStdOption_std" onclick="ToggleColorOptions('Std');" value="Std" />
Standard <br />
<input name="StdRNonStdOption" type="radio" id="StdRNonStdOption_non" onclick="ToggleColorOptions('Non');" value="Non" />
Non-Standard <br />
<div id="Option1" style="display:none;">
    <select name="ThisColor" >
        <option></option>
        <option>Blue</option>
        <option>Green</option>
    </select>
</div>
<div id="Option2" style="display:none;">
    <input name="ThisColor" type="text" size="20" maxlength="51" />
</div>
<input type="submit" value="Save" />

使用类似Sisyphus、类似gmail的客户端localStorage插件。也许是你最好的选择。。。

http://simsalabim.github.com/sisyphus/

JQuery中的解决方案:

制作输入类型按钮

将扩展的onclick选项放在类名为someexpandedoptions 的div中

点击事件切换可见性

$('.someexpandedoptions').css('display','inline');
$('.someexpandedoptions').css('display','none');

就这么简单。

只需确保正确初始化按钮即可。