Всем привет! Я делаю динамический select на основе базы данных. Сам селект работает исправно, но при обработке события onchange() скрипт обнуляет все значения массива $_POST. Как можно закрепить данные массива? [js]function reload(form){ var val = form.site_razdel.options[form.site_razdel.options.selectedIndex].value; self.location='index33.php?page=9&act=place&razdel=' + val ; }[/js] PHP: $html .= " <form method='POST' id='publish_ban_form' name='f1' action='' > \n <select name='site_razdel' onchange='reload(this.form)'> \n <option value='0'>-- Выбрать раздел --</option> \n"; $quer2=mysql_query("SELECT razdel, title FROM tbl1 ORDER BY id") or die("query faild: ". mysql_error()); if(isset($site_razdel) and strlen($site_razdel) > 0) { $quer=mysql_query(" SELECT DISTINCT title, id FROM tbl2 WHERE (razdel='$site_razdel') AND (ban_cat = $ban_cat) ORDER BY title") or die("query faild: ". mysql_error()); } else { $quer=mysql_query(" SELECT DISTINCT title, id FROM banners_blocks WHERE (ban_cat = $ban_cat) ORDER BY title") or die("query faild: ". mysql_error()); } while($noticia2 = mysql_fetch_array($quer2)) { if ($noticia2['razdel'] == $site_razdel) { $html .= "<option selected value='$noticia2[razdel]'>$noticia2[title]</option>"."<BR>"; } else { $html .= "<option value='$noticia2[razdel]'>$noticia2[title]</option>"; } } $html .= "</select>"; $html .= "<select name='block_id'><option value=''>--- Выберите блок ---</option>"; while($noticia = mysql_fetch_array($quer)) { $html .= "<option value='$noticia[id]'>$noticia[title]</option>"; } $html .= "</select>"; $html .= " <input type='hidden' name='ban_id' id='ban_id' value='".$ban_id."' > <input type='hidden' name='mode' value='place' > <input type='submit' value='Submit'> </form>"; При первой загрузке файла $_POST содержит минимум одно значение $_POST['ban_id'], которое исчезает после работы JS.
Все переменные скрипта существуют столько времени, сколько выполняется скрипт. После выполнения, все переменные исчезают. Запиши значения в сессии. И прочитай эту статью.