romik
Новичок
вопрос по зависимым спискам и ajax
у меня есть 2 списка в форме и кнопка submit. при изменении значения 1-го списка меняется содержимое 2-го. При нажатии на кнопку отправляется информация, но выбранного значения из 2-го списка не видно в $_Post. Подскажите пожалуйста, как решить эту проблему.
код:
1)просто страница со списками и кнопкой
2)php-код выбора подчиненного selecta (файл makeselect1.php)
у меня есть 2 списка в форме и кнопка submit. при изменении значения 1-го списка меняется содержимое 2-го. При нажатии на кнопку отправляется информация, но выбранного значения из 2-го списка не видно в $_Post. Подскажите пожалуйста, как решить эту проблему.
код:
1)просто страница со списками и кнопкой
PHP:
echo "<html><head></head> \n";
echo "<script language=JavaScript> \n";
echo "var xmlhttp = false; \n" ;
echo "try { xmlhttp = new ActiveXObject('Msxml2.XMLHTTP') \n";
echo " } \n";
echo "catch (e) { \n";
echo " try { xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); \n";
echo " } \n";
echo " catch (e2) { \n";
echo " xmlhttp = false; \n";
echo " } \n";
echo "} \n";
echo "if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); } \n";
echo "function makeselect(v) { \n";
var val = document.getElementById('sel_type').value; break; \n";
echo "var serverPage = 'makeselect1.php?v=' + val+'&vib='+v; \n";
var obj = document.getElementById('d2'); break; \n";
echo "xmlhttp.open('GET', serverPage); \n";
echo "xmlhttp.onreadystatechange = function() { \n";
echo " if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { \n";
echo " obj.innerHTML = xmlhttp.responseText; \n";
echo " } \n";
echo " } \n";
echo "xmlhttp.send(null); \n";
echo "} \n";
echo "</script> \n";
echo "<BODY>\n";
echo "<form name='zagruz' enctype='multipart/form-data' action='parse.php' method='post'>\n";
$db_conn = ocilogon("system", "manager", "vc");
//пошла выборка данных 1-го selecta
$cmdstr = "select i_gid_type, c_name_type from type order by c_name_type";
$parsed = ociparse($db_conn, $cmdstr);
ociexecute($parsed);
$nrows = ocifetchstatement($parsed, $results);
echo "<select id='sel_type' name='sel_type1' onchange='makeselect(1)'> \n";
for ($i = 0; $i < $nrows; $i++ )
{
echo "<option value='" . $results["I_GID_TYPE"][$i] . "'>". $results["C_NAME_TYPE"][$i] . " \n";
}
echo"</select><br>\n";
//подчиненная выборка 2-го selecta
$cmdstr = "select i_gid_specification, c_name_specification from specification order by c_name_specification";
$parsed = ociparse($db_conn, $cmdstr);
ociexecute($parsed);
$nrows = ocifetchstatement($parsed, $results);
echo "<div id='d2'><select id='sel_specification' name='sel_spec'>\n";
for ($i = 0; $i < $nrows; $i++ )
{
echo "<option>". $results["C_NAME_SPECIFICATION"][$i] . " \n";
}
echo "</select></div>\n";
echo "</form>\n";
echo "</body>\n";
echo "</html>\n";
PHP:
header("Content-type: text/html; charset=windows-1251");
$v = $_REQUEST["v"];
$db_conn1 = ocilogon("system", "manager", "vc");
$cmdstr = "select i_gid_specification, c_name_specification from specification where i_code_type=" . $v . "order by c_name_specification";
$parsed = ociparse($db_conn1, $cmdstr);
ociexecute($parsed);
$nrows = ocifetchstatement($parsed, $results);
echo "<select id='selv'>";
for ($i = 0; $i < $nrows; $i++ )
{
echo "<option value='" . $results["I_GID_SPECIFICATION"][$i] . "'>" . $results["C_NAME_SPECIFICATION"][$i] . "</option> \n";
}
echo "</select>"