Имеется связка из html+php+js. В html при загрузке создается первый селект, при выборе одного из пунктов, должен заполнится второй селект, а при выборе второго - должно заполнится поле. Подскажите чего не хватает? Или где почитать об этом!
main.html
<html>
<head>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript" src="spi_obj_out.js"></script>
</head>
<body>
<form NAME="vhod" ACTION="vhod.php">
СПИ:<BR>
<select id="spi_out" name="spi_out" onclick="getSpiList(this)">
<OPTION VALUE="no_spi">СПИ
</SELECT><BR>
Пультовый номер:<BR>
<td><select id="obj_out" name="obj_out" onchange="getObjList(this)">
<OPTION VALUE="no_obj" SELECTED>Объект
</select><BR>
Данные объекта:<BR>
<INPUT TYPE="text" WIDTH="10" NAME="pn"><BR>
<INPUT TYPE="submit" VALUE="Запулить">
</form>
</body>
</html>
spi_obj_out.php
$do = $_GET['do'];
$spi = $_GET['spi'];
$obj = $_GET['obj'];
if(isset($_GET['do']))
{
$spi = array();
$spi = array('Выбор СПИ','Ключ','Струна');
if(isset($_GET['spi']) and $do=='spi'){
for($i=0;$i<count($spi);$i++)
{echo "obj.options[obj.options.length] = new Option('".$spi[$i]."','".$i."');\n";}}}
if(isset($_GET['do']))
{
$obj = array();
if ($spi=='Ключ') {$obj = array('Объект','+205','+239','-598','-45656');}
if ($spi=='Струна') {$obj = array('Объект','+205','+239','-598','-45656');}
if(isset($_GET['obj']) and $do=='obj'){
for($i=0;$i<count($obj);$i++){
echo "obj.options[obj.options.length] = new Option('".$obj[$i]."','".$i."');\n";}}}
spi_obj_out.js
var ajax = new Array();
function getSpiList(sel)
{
var countryCode = sel.options[sel.selectedIndex].value;
document.getElementById('spi_out').options.length = 0; // Empty city select box
if(countryCode.length>0){
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'spi_obj_out.php?do=spi&spi=go'; // Specifying which file to get
ajax[index].onCompletion = function(){ createSpi(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createSpi(index)
{
var obj = document.getElementById('spi_out');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}
function getObjList(sel)
{
var category = sel.options[sel.selectedIndex].value;
document.getElementById('obj_out').options.length = 0; // Empty city select box
if(category.length>0){
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'spi_obj_out.php?do=obj&obj=go'; // Specifying which file to get
ajax[index].onCompletion = function(){ createObj(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createObj(index)
{
var obj = document.getElementById('obj_out');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}