Javascript 在chrome中单击“后退”按钮时,动态值不会保留在HTML中的控件中

Javascript 在chrome中单击“后退”按钮时,动态值不会保留在HTML中的控件中,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我的html页面中有两个选择列表。一个列表依赖于另一个列表。 根据一个列表的选择,第二个列表正在填充。当我点击提交按钮时,我的页面重定向到不同的页面。单击“上一步”,将重置从属选择列表。 我知道chrome不像firefox那样支持bfcache。 有没有办法达到同样的效果? 我写了下面的方法,该方法在依赖选择列表的onchange事件上被调用: function storePickListIndexAndValueInSession( source_field, dest_field, for

我的html页面中有两个选择列表。一个列表依赖于另一个列表。 根据一个列表的选择,第二个列表正在填充。当我点击提交按钮时,我的页面重定向到不同的页面。单击“上一步”,将重置从属选择列表。 我知道chrome不像firefox那样支持bfcache。 有没有办法达到同样的效果? 我写了下面的方法,该方法在依赖选择列表的onchange事件上被调用:

function storePickListIndexAndValueInSession( source_field, dest_field, form1 )
  {
  var dependentField = form1[dest_field];
  var parentField = form1[source_field];
  if(dependentField.value != null  && dependentField.value != '' && dependentField.value != 'undefined' )
  {
    sessionStorage.setItem('Dependent'+dest_field+'LastSelectedValue',dependentField.selectedIndex );
    sessionStorage.setItem('Independent'+source_field+'LastSelectedValue',parentField.value );
  }

  else if (parentField.value != null  && parentField.value != '' && parentField.value != 'undefined' )
  {
    var arr = dependentField.options;
    if(parentField.value === sessionStorage.getItem('Independent'+source_field+'LastSelectedValue') )
    {   
        var arrElem = arr[sessionStorage.getItem('Dependent'+dest_field+'LastSelectedValue')];
        if( arrElem != null && arrElem != '' && arrElem != 'undefined')
        dependentField.selectedIndex = arr[sessionStorage.getItem('Dependent'+dest_field+'LastSelectedValue')].index;
        else
        dependentField.selectedIndex = 0;
    }
    else
    {
        sessionStorage.setItem('Independent'+source_field+'LastSelectedValue',parentField.value );
        dependentField.selectedIndex = 0;
    }
  }
  else
  {
    sessionStorage.setItem('Dependent'+dest_field+'LastSelectedValue',0 );
  }
  }
但如果选择列表中没有空值/空值,则此方法不起作用。 提前谢谢