--- hierarchical_select.module 2011-02-16 23:04:59.000000000 +0300 +++ hierarchical_select.module.New 2011-04-14 01:34:53.000000000 +0400 @@ -328,7 +328,9 @@ function hierarchical_select_json() { // Collect all necessary variables. $cached = cache_get($hs_form_build_id, 'cache_hierarchical_select'); $storage = $cached->data; - + if (!$storage) { + $storage = $_SESSION['hierarchical_select_js']; + } // Ensure that the form id in the POST array is the same as the one of the // stored parameters of the original form. For 99% of the forms, this step // is not necessary, but when a hierarchical_select form item is inside a @@ -766,6 +768,7 @@ function hierarchical_select_after_build $hs_form_build_id = 'hs_form_'. md5(mt_rand()); $lifetime = variable_get('hierarchical_select_cache_lifetime', HS_CACHE_LIFETIME_DEFAULT); cache_set($hs_form_build_id, $storage, 'cache_hierarchical_select', time() + $lifetime); + $_SESSION['hierarchical_select_js'] = $storage; } elseif (isset($_POST['hs_form_build_id'])) { // Don't generate a new hs_form_build_id if this is a re-rendering of the