【问题标题】:Hide/Show Back Button隐藏/显示返回按钮
【发布时间】:2012-02-28 21:24:10
【问题描述】:

我正在处理一个表单,它有一个隐藏和显示 div 然后提交到页面的小部分。我的问题是,当我隐藏 div 并提交时,然后单击后退按钮,div 没有隐藏。这是我的代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
    <script type="text/javascript" src="http://nix.lv/history/jquery-1.2.3.min.js"></script>
    <script type="text/javascript">

        jQuery(document).ready(function ($) {

            $('#Contact').change(function () {
                if ($(this).val() == ('Yes')) { $('#sentBy').show(); }
                else { $('#sentBy').hide(); }
            });

        });
</script>
</head>

<body>
<form method="post" action="http://google.com">
<div><p><label for="Contact">Want an answer? </label><br />
                    <select size="1" name="Contact" id="Contact" onchange="toggle('hide', 'sentBy');">
                        <option value="Yes" selected="selected">Yes</option>
                        <option value="No">No</option>
                    </select></p>
                    </div>
    <div id="sentBy">
        this is a test
    </div>
    <input type="submit" value="wow"/>
 </form>
</body>
</html>

【问题讨论】:

  • HTTPstateless protocol - 按submit 你会失去状态...
  • 当您提交表单时,您会获得该页面的新副本。当然你的 DIV 不会被隐藏。
  • JS 是客户端语言,当点击“返回”时它不会记住选择了哪个选项,除非你使用cookies
  • @OfirBaruch 或查询参数、会话变量或本地存储..
  • 你是绝对正确的@paislee

标签: jquery forms button back


【解决方案1】:

文档准备好后,检查下拉菜单的值并在适当时隐藏 div。试试这个编辑:

jQuery(document).ready(function ($) {

        var shouldHideDiv = $('#Contact').val() != 'Yes';
        if (shouldHideDiv) {
            $('#sentBy').hide();
        }

        $('#Contact').change(function () {
            if ($(this).val() == ('Yes')) { $('#sentBy').show(); }
            else { $('#sentBy').hide(); }
        });

    });

【讨论】:

  • @user1238850 接受这个答案。不要忘记投票并接受答案。
猜你喜欢
  • 1970-01-01
  • 2021-06-05
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
相关资源
最近更新 更多