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