Clunk
Новичок
Проблема в взаимодействии PHP и Javascript
Дорогие друзья, сам я в javascript плохо разбираюсь, а скрипт писал другой человек, связи с которым сейчас нет. Смысл скрипта такой, есть <select>, при выборе какого-либо <option> из это <select> формируется запрос в БД MySQL, возвращается результат, и на основе этого результат формируется другой <select>. Резюме: формирование значений селекта, на основе другого. Вот кусок нужный:
..............................................
<form name="addlist<?=$result_array5->szz_key?>" action="?sub=list&num=<?=$num?>&edit=<?=$edit?>&nsub=sans&ssadd=yes" method="post">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="txt_wt" width="100"> <?=$zv_pole1?></td>
<td class="txt_wt" width="230px"> Представления ⁄ Мероприятия</td>
<td class="txt_wt"> </td>
<td class="txt_wt" width="200"> <?=$zv_pole3?></td>
<td class="txt_wt" width="20"><img src="../images/meloch/point_01.gif"></td>
</tr>
<tr align="center" >
<td width="100" style=" border:1px solid #000000 "><input type="text" name="spole1" style="width:98% "></td>
<td width="230px" style=" border:1px solid #000000 ">
<script language="JavaScript" type="text/javascript">
<!--
function changeSubmenu(form, si) {
while(form.spre_key.length > 0)
{
form.spre_key.remove(form.spre_key.length - 1);
}
if(form.pr_key.options[form.pr_key.options.selectedIndex].value == 0)
{
var e=document.createElement('option');
e.text="Не выбран тип представлений";
e.value='0';
try
{
form.spre_key.add(e,null);
}
catch(ex)
{
form.spre_key.add(e);
}
}
else
{
var e=document.createElement('option');
e.text="Выбор из списка ("+form.pr_key.options[form.pr_key.options.selectedIndex].text+")";
e.value='0';
try
{
form.spre_key.add(e,null);
}
catch(ex)
{
form.spre_key.add(e);
}
}
<?
$query7="SELECT * FROM `stic_prtype`";
$result7= mysql_query($query7, $connection) or die (mysql_error());
while ($result_array7=mysql_fetch_object($result7))
{
?>
if(form.pr_key.options[form.pr_key.options.selectedIndex].value == <?=$result_array7->pr_key?>)
{
<?
$query8="SELECT * FROM `stic_predst` WHERE `pr_key`='$result_array7->pr_key'";
$result8= mysql_query($query8, $connection) or die (mysql_error());
while ($result_array8=mysql_fetch_object($result8))
{
?>
var e=document.createElement('option');
e.text='<?=$result_array8->pre_title?>';
e.value='<?=$result_array8->pre_key?>';
try {
form.spre_key.add(e,null);
} catch(ex) {
form.spre_key.add(e);
}
<?
}
?>
}
<?
}
?>
for(i = 0; i < form.spre_key.length; i++) {
if (form.spre_key.options.value == si) {
form.spre_key.options.selectedIndex = i;
}
}
}
//-->
</script>
<select name="pr_key" style="width:98%" onchange="changeSubmenu(this.form, 0)">
<option value="0">Тип представления</option>
<?
$query7="SELECT * FROM `stic_prtype`";
$result7= mysql_query($query7, $connection) or die (mysql_error());
while ($result_array7=mysql_fetch_object($result7))
{
?>
<option value="<?=$result_array7->pr_key?>"><?=$result_array7->pr_name?></option>
<?
}
?>
</select>
</td>
<td style=" border:1px solid #000000 ">
<select name="spre_key" style="width:98%">
<option>Не выбран тип представлений</option>
</select>
..............................................
Этот скрипт прекрасно работал. Но при переезде на другой хостинг, работал-работал и вдруг перестал.
При открытии стриницы с этим скриптом появляется ошибка в строке
<select name="pr_key" style="width:98%" onchange="changeSubmenu(this.form, 0)">
и при выборе параметра в 1-ом селекте IE пишет "предпологается наличие объекта" и естественно 2-ой селект не формируется.
Заранее благодарю!
Дорогие друзья, сам я в javascript плохо разбираюсь, а скрипт писал другой человек, связи с которым сейчас нет. Смысл скрипта такой, есть <select>, при выборе какого-либо <option> из это <select> формируется запрос в БД MySQL, возвращается результат, и на основе этого результат формируется другой <select>. Резюме: формирование значений селекта, на основе другого. Вот кусок нужный:
..............................................
<form name="addlist<?=$result_array5->szz_key?>" action="?sub=list&num=<?=$num?>&edit=<?=$edit?>&nsub=sans&ssadd=yes" method="post">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="txt_wt" width="100"> <?=$zv_pole1?></td>
<td class="txt_wt" width="230px"> Представления ⁄ Мероприятия</td>
<td class="txt_wt"> </td>
<td class="txt_wt" width="200"> <?=$zv_pole3?></td>
<td class="txt_wt" width="20"><img src="../images/meloch/point_01.gif"></td>
</tr>
<tr align="center" >
<td width="100" style=" border:1px solid #000000 "><input type="text" name="spole1" style="width:98% "></td>
<td width="230px" style=" border:1px solid #000000 ">
<script language="JavaScript" type="text/javascript">
<!--
function changeSubmenu(form, si) {
while(form.spre_key.length > 0)
{
form.spre_key.remove(form.spre_key.length - 1);
}
if(form.pr_key.options[form.pr_key.options.selectedIndex].value == 0)
{
var e=document.createElement('option');
e.text="Не выбран тип представлений";
e.value='0';
try
{
form.spre_key.add(e,null);
}
catch(ex)
{
form.spre_key.add(e);
}
}
else
{
var e=document.createElement('option');
e.text="Выбор из списка ("+form.pr_key.options[form.pr_key.options.selectedIndex].text+")";
e.value='0';
try
{
form.spre_key.add(e,null);
}
catch(ex)
{
form.spre_key.add(e);
}
}
<?
$query7="SELECT * FROM `stic_prtype`";
$result7= mysql_query($query7, $connection) or die (mysql_error());
while ($result_array7=mysql_fetch_object($result7))
{
?>
if(form.pr_key.options[form.pr_key.options.selectedIndex].value == <?=$result_array7->pr_key?>)
{
<?
$query8="SELECT * FROM `stic_predst` WHERE `pr_key`='$result_array7->pr_key'";
$result8= mysql_query($query8, $connection) or die (mysql_error());
while ($result_array8=mysql_fetch_object($result8))
{
?>
var e=document.createElement('option');
e.text='<?=$result_array8->pre_title?>';
e.value='<?=$result_array8->pre_key?>';
try {
form.spre_key.add(e,null);
} catch(ex) {
form.spre_key.add(e);
}
<?
}
?>
}
<?
}
?>
for(i = 0; i < form.spre_key.length; i++) {
if (form.spre_key.options.value == si) {
form.spre_key.options.selectedIndex = i;
}
}
}
//-->
</script>
<select name="pr_key" style="width:98%" onchange="changeSubmenu(this.form, 0)">
<option value="0">Тип представления</option>
<?
$query7="SELECT * FROM `stic_prtype`";
$result7= mysql_query($query7, $connection) or die (mysql_error());
while ($result_array7=mysql_fetch_object($result7))
{
?>
<option value="<?=$result_array7->pr_key?>"><?=$result_array7->pr_name?></option>
<?
}
?>
</select>
</td>
<td style=" border:1px solid #000000 ">
<select name="spre_key" style="width:98%">
<option>Не выбран тип представлений</option>
</select>
..............................................
Этот скрипт прекрасно работал. Но при переезде на другой хостинг, работал-работал и вдруг перестал.
При открытии стриницы с этим скриптом появляется ошибка в строке
<select name="pr_key" style="width:98%" onchange="changeSubmenu(this.form, 0)">
и при выборе параметра в 1-ом селекте IE пишет "предпологается наличие объекта" и естественно 2-ой селект не формируется.
Заранее благодарю!