Всем привет! С JS знаком на 0%. В зависимости от выбранного типа практики и группы показывать возможные базы практики - вот что делает скрипт. Функция doload посылает выбранную в селекте переменную tip_pract_id в файл select_base.php в зависимости от этой переменной и переменной $groups_id в файле select_base.php формируется результат и отсылается обратно. Как передать переменную $groups_id функцией doload в файл select_base.php я не знаю - помогите пожалуйста. ПЕРВЫЙ ФАЙЛ Код (Text): <?php include('blocks/db.php'); ?> <script src="JsHttpRequest.js"></script> <script> function doload(value){ var req=new JsHttpRequest(); req.onreadystatechange=function(){ if(req.readyState==4) document.getElementById("result").innerHTML=req.responseText;} req.open(null,"select_base.php",true); req.send({tip_pract_id:value});} </script> <? $groups_id = 1; $s='<p align="center">Выберите тип практики <select name="tip_pract_id" onchange="doload(this.value);"><option value="no" selected>Выберите тип практики...</option><p/>'; unset($result); $result=mysql_query("SELECT * FROM tip_pract",$db); $myrow=mysql_fetch_array($result); do {$tip_pract_id = $myrow["id"]; $s=$s.'<option value="'.$tip_pract_id.'">'.$myrow["tip_pract_name"].'</option>'; } while ($myrow=mysql_fetch_array($result)); $s=$s.'</select><div id="result"></div>'; echo $s; ?> ФАЙЛ select_base.php Код (Text): <? include('blocks/db.php'); require("../JsHttpRequest.php"); //Подключаем библиотеку $JsHttpRequest=new JsHttpRequest("utf-8"); //Создаем экземпляр класса, указываю рабочую кодировку. $tip_pract_id=($_REQUEST["tip_pract_id"]); $s=$s.'<p align="center">Выберите базу практики <select name="org_id"><option value="no" selected>Выберите базу практики...</option><p/>'; unset($result); $result=mysql_query("SELECT organization.id, org_name FROM organization, dogovor, punct_dogovor, punct_tip_pract WHERE organization.id = dogovor.organization_id AND dogovor.id = punct_dogovor.dogovor_id AND punct_dogovor.specialnost_id = <------------вот суда мне и нужно подставить переменную $specialnost_id AND punct_dogovor.id = punct_tip_pract.punct_dogovor_id AND punct_tip_pract.tip_pract_id ='$tip_pract_id'",$db); $myrow=mysql_fetch_array($result); do {$org_id = $myrow["id"]; $s=$s.'<option value="'.$org_id.'">'.$myrow["org_name"].'</option>'; } while ($myrow=mysql_fetch_array($result)); $s=$s.'</select>'; //В общем-то, все. Теперь просто выводим переменную $s, которую успешно "поймает" наша функция doload(). echo $s; ?>
igordata не правильный ответ для этой старой либы такое срабатывает только для Гет-запросов. req.send({tip_pract_id:value, groups_id:6}); а вообще ТС пора бы сходить на форум авторов этой библиотеки - там куча мана и толковые "помогатели" я уже и забыл как ей пользоваться
Вот этот вариант подходит, только переменная groups_id меняется: $groups_id = $_GET['groups_id']; пробовал так: req.send({tip_pract_id:value, groups_id:$groups_id}); не получается. Как это сделать?