Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод второго ниспадающего меню в соответствии, с выбором первого... 
:(
    Опции темы
anurbol
  Дата 3.8.2007, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 30.5.2007
Где: Алматы, Казахстан

Репутация: нет
Всего: нет



Цитата

это все внутри какого-то тега <form>? В action этого <form> не передаются занчения? 
см. 8 пост

Цитата

Дайте больший кусок кода, от <form> до </form>.

<form action=\"1.php\" method=\"get\">"
._SELECTCOUNTRY."</td>
<td align=\"left\">
<select name=\"strany\" id=\"strany\" onchange=\"showStrany(this.options[this.selectedIndex].value)\">
<option>"._SELECTCOUNTRY."</option>
<option value=\"armenia\">"._ARMENIA."</option>
<option value=\"azerbaijan\">"._AZERBAIJAN."</option>
<option value=\"belarus\">"._PEOPLE."</option>
<option value=\"georgia\">"._GEORGIA."</option>
</select></td></tr>
<tr><td>"._SELECTCITY."</td>
<td id=\"goroda\"><!--здесь - место для городов-->
</td></form>
Цитата
Я не вижу в Вашем коде <input> или <select> с name='goroda'

см. 2 скрипт в 6 посте.
Цитата

 Передается только то, что в активных эоементах

В смысле активных?

PM MAIL   Вверх
Golda
Дата 4.8.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: 5
Всего: 42



По поводу <input name="goroda"> Вы правы, не досмотрела. Спасибо, что обратили внимание

Все-таки Вы, видимо, не весь код внутри <form> привели. Например, судя по URL, приведенным в одном из предыдущих постов,

Код

1.php?strany=Russia&goroda=Moscow&submit=Go%21


у Вас есть еще где-то кнопка submit с текстом Go. Ну да  ладно, думаю, того что Вы привели, достаточно. 

1. Получается, что <form> находится внутри одного <td>, элементы внутри другого, а закрывающий тег </form> внутри третьего. Броузеры не любят таких издевательств. Открывайте тег <form> до начала всей таблицы, а закрывайте после.

2. В результате, после AJAX-запроса, у Вас появятся <td id="goroda"> и <select name="goroda">. Эти одинаковые имена могут сыграть с Вами злую шутку уже в Internet Explorer, который любит путать name  и id.

Если эти моменты исправить, код должен заработать. 

Еще не понимаю, зачем Вам текущее значение strany вычислять 2 раза. Тем более, что параметр goroda, судя по приведенным кускам кода, не только полностью совпадает с strany, но и не используется обработчиком. В общем, вот мой отладочный вариант, который работал во всех 3 интересующих Вас броузерах

test.php
Код

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    print_r($_GET);
    exit;
}
?>
<html>
<head>
<script type="text/javascript">
var xmlHttp
function showStrany(str)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser doesnt support ajax")
 return
 }
var url="goroda.php"
url=url+"?strany="+str
xmlHttp.open("GET",url,true)
xmlHttp.onreadystatechange=stateChanged
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 {
 document.getElementById("gorodatd").innerHTML=xmlHttp.responseText
 }
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
</script>
</head>
<body>
<form method="post">
<table><tr><td>
_SELECTCOUNTRY</td>
<td align="left">
<select name="strany" id="strany" onchange="showStrany(this.options[this.selectedIndex].value)">
<option>._SELECTCOUNTRY.</option>
<option value="armenia">._ARMENIA.</option>
<option value="azerbaijan">._AZERBAIJAN.</option>
<option value="belarus">._PEOPLE.</option>
<option value="georgia">._GEORGIA.</option>
</select></td></tr>
<tr><td>._SELECTCITY.</td>
<td id="gorodatd"><!--здесь - место для городов-->
</td>
<td><input type="submit" name="submit" value="Go"/>
</tr></table></form></body></html>


goroda.php

Код

<?php
$goroda = array (
        'armenia' => array ('arm1', 'arm2', 'arm3'),
        'azerbaijan' => array ('azerbaijan1', 'azerbaijan2', 'azerbaijan3'),
        'belarus' => array ('belarus1', 'bel2', 'bel3'),
        'georgia' => array ('georgia1', 'georgia2', 'georgia3')
    );
echo "<select name='goroda'>";
if (!empty($goroda[$_GET['strany']])) {
    foreach ($goroda[$_GET['strany']] as $gorod ) {
        echo '<option value="' . $gorod . '">' . $gorod . '</option>';
    }
}
echo "</select>";
?>


Это сообщение отредактировал(а) Golda - 4.8.2007, 16:29


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
anurbol
Дата 6.8.2007, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 30.5.2007
Где: Алматы, Казахстан

Репутация: нет
Всего: нет



 smile Ура! Свершилось. вот же нелепость, из-за такой мелочи столько сидеть! Раньше если честно не придавал никакого значения расположению form.  Теперь буду все делать аккуратно-аккуратно . Если бы Вы были рядом, расцеловал бы  smile  Придется набирать 100 постов
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0761 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.