我如何获得下一页(同一页面)加载的隐藏值?

时间:2013-01-17 07:07:12

标签: javascript html

这是我的HTML代码

<input type="hidden" name="hdnAssignto" id="hdnAssignto" />
<table align="center" width="90%">
  <tr>
    <td>Assign to 
     <select name="Assign_to" id="assign_to" onchange="newQueryAssignTo(this.value)">
        <option value="tom">Tom</option>
        <option value="jay">Jay</option>
        <option value="jack">Jack</option>         
     </select></td>    
  </tr>
</table>

Javascript代码

<script type="text/javascript">
      alert(document.getElementById('hdnAssignto').value);
      var selAssignTo = document.getElementById('assign_to');
    selAssignTo.value = document.getElementById('hdnAssignto');
function newQueryAssignTo(userName)
{
    document.getElementById('hdnAssignto').value = userName;    
}
</script>

我想永久设置下拉值。如果我第一次选择'Jay',我会将此值存储到隐藏字段中,下次当页面加载时,它想从此隐藏字段中获取。

3 个答案:

答案 0 :(得分:0)

您可以使用javascript在Cookie中设置和获取值。

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}

答案 1 :(得分:0)

尝试选择此选项:即使在刷新页面

后,您也将获得所选值
            <html>
            <head>
                <title></title>
            <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
                <script>
            $(function() {
                if (localStorage.getItem('form_frame')) {
                    $("#form_frame option").eq(localStorage.getItem('form_frame')).prop('selected', true);
                }

                $("#form_frame").on('change', function() {
                    localStorage.setItem('form_frame', $('option:selected', this).index());
                });
            });
                </script>
            </head>
            <body>
            <select id="form_frame" name="frame" onchange="getData(this);"/>
               <option value="data1" selected="selected">Data 1</option>
               <option value="data2">Data 2</option>
            </select>

            </body>
            </html>

答案 2 :(得分:0)

本地存储比cookie更容易 - 它就像对象/数组一样工作。例如:

function newQueryAssignTo(userName)
{
    if(! localStorage["userName"]){
        localStorage["userName"] = userName;
    }

    document.getElementById('hdnAssignto').value = localStorage["userName"];    
}