(PHP+JS) функция по событию (выпадающий список)

imladris
Дата: 12.07.2006 17:34:12
<?
mysql_connect("localhost", "imladris", "") or die("could not connect");
mysql_select_db("reklama");

$currentRazdel=3;

$str = "select * from tematika";
$result = mysql_query($str);

$jst=""; // собираем строку Javascript-кода

$jst.="<script language=JavaScript> \n!--\n";
$jst.="function vubir() { \n";
$jst.=" var a; a = document.form1.tematika.selectIndex; \n";
$jst.=" $id_tematika=a ; \n";
$jst.="} \n";
$jst.="//-->\n </SCRIPT>\n";

echo "<form name=\"form1\" action=\"#\"> \n";
$num=mysql_num_rows($result);
echo "<select name=\"tematika\" onCnahge="vubir()"> \n";
while ($row=mysql_fetch_array($result)) {
$id_tematika=$row["id_tematika"];
$tematika=$row["tematika"]; // раздел - пункт главного меню
echo "<option value=$id_tematika> $tematika </option> \n";
}
echo "</select> \n</form> \n";
echo $jst; // вывод кода JavaScript
echo "Тематика : $id_tematika";
?>

Я вообще-то в JS не очень.. Прошу строго не судить...
Что в коде неправильно?
imladris
Дата: 12.07.2006 17:35:21
Мне нужно что бы при выборе элемента списка выбирался соответсвующий ему id - и я его передаю следующей форме
Berkut
Дата: 13.07.2006 10:47:04
Не надо ничего передавать и писать каких-либо обработчиков.
Значение выбранного ид и так будет в форме.
А чтобы получить значение надо выполнить сабмит (отправку формы).

...
<select name="tematika">

<?php
while ($row=mysql_fetch_array($result)) 
{ 
    echo '<option value="'.$row["id_tematika"].'">'.$tematika=$row["tematika"]."</option>\n";
} 
?>
</select>
...

P.S. Почитайте про формы и http://phpfaq.ru/na_tanke
imladris
Дата: 13.07.2006 12:15:02
Просто, мне говорили что бы выбрать новую тематику нужно написать скрипт на Джаве. Т.е. даже если мы выбираем другую тематику id_tematika не поменяется!!!!

Может действительно JS нужен?