powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передача JS-скрипта через JsHttpRequest
9 сообщений из 9, страница 1 из 1
Передача JS-скрипта через JsHttpRequest
    #36216148
toxaxxxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет! Имею некую форму, в которой присутствуют динамические селекты (использую JsHttpRequest), к примеру, страна на основе которой формируется список городов. Далее, если пользователь, например, заполнил не все поля, то происходит редирект на этуже страницу с указанием ошибки, при этом, чтобы не пришлось заново вводить данные я сохраняю их через POST, для селекта страны- это:
Код: plaintext
1.
2.
<script language="javascript">
   document.getElementById('country').options[document.getElementById('country').value="<?php echo $_POST['country'] ?>"].selected= true; 
</script>
в итоге выделенной окажется та страна, которая была выбрана при первой попытке.
НО с селектом города так не прокатывает- ничего не происходит, скрипт не передается.

Файл с формой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<script language="javascript">
function doload_city(value)
{
   var req=new JsHttpRequest();
   req.onreadystatechange=function(){if(req.readyState== 4 ) document.getElementById("city-select").innerHTML=req.responseText;}
   req.open(null,"Scripts/city-select.php",true);
   req.send({country:value, city:"<?php echo $_POST['city'] ?>"});
}
<script>

<select name="country" id="country" onChange="doload_city(this.value);>
   <option value="" selected>--Выберите страну-- </option>
    <?php
    $result= mysql_query("SELECT country FROM countryes", $db);
    while ($myrow= mysql_fetch_array($result))
       echo "<option value='".$myrow['country']."'>".$myrow['country']."</option>";
    ?>
</select>
script language="javascript">
   document.getElementById('country').options[document.getElementById('country').value="<?php echo $_POST['country'] ?>"].selected= true;
</script>
<span id="city-select"></span>

Файл-Обработчик, который формирует список городов:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
$country= $_REQUEST['country'];
$city= $_REQUEST['city'];

echo "
<select name='city' id='city'>
   <option value='' selected>--Выберите город--</option>";
    $result= mysql_query("SELECT city FROM cityes WHERE country='$country' ORDER BY city", $db);
    while ($myrow= mysql_fetch_array($result)) 
    echo "<option value='".$myrow['city']."'>".$myrow['city']."</option>";
</select>";
?>
и в конце этого файла этот скрипт (который не срабатывает):
Код: plaintext
<script language='javascript'>document.getElementById('city').options[document.getElementById('city').value="<?php echo $city ?>"].selected= true;</script>

Что нужно сделать, чтобы этот JS-скрипт выполнился?
Спасибо!
...
Рейтинг: 0 / 0
Передача JS-скрипта через JsHttpRequest
    #36221331
xzone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
toxaxxxl,

Вот здесь последний пост прочитай может, что-то подобное тебе поможет.

sql.ru/forum/actualthread.aspx?tid=692974
...
Рейтинг: 0 / 0
Передача JS-скрипта через JsHttpRequest
    #36225429
toxaxxxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не помогло :(
Взаимодействие селектов у меня работает исправно, а вот передача js-скрипта из второго селекта не работает, как я понял его что-то блокирует в JsHttpRequest.
В AJAX я вообще 0, только с селектами через JsHttpRequest разобрался и все, на большее пока времени нет.

Модератор: Тема перенесена из форума "PHP,Perl".
...
Рейтинг: 0 / 0
Передача JS-скрипта через JsHttpRequest
    #36267231
toxaxxxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это невозможно чтоли??? =(
...
Рейтинг: 0 / 0
Передача JS-скрипта через JsHttpRequest
    #36267620
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да без проблем ... Получаешь текст, вставляешь в контейнер, выполняешь содержимое тэга <script> (через eval()). Или пользуешься фреймворками.
...
Рейтинг: 0 / 0
Передача JS-скрипта через JsHttpRequest
    #36267945
toxaxxxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть я не правильно понял про eval(), но я сделал вот так:
в конец обработчика добавил
Код: plaintext
<script language='javascript'>eval("document.getElementById('city').options[document.getElementById('city').value='<?php echo $city ?>'].selected= true")</script>
правда это мне ничего не дало =(.
...
Рейтинг: 0 / 0
Передача JS-скрипта через JsHttpRequest
    #36273337
toxaxxxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
toxaxxxlМожет быть я не правильно понял про eval(), но я сделал вот так:
в конец обработчика добавил
Код: plaintext
<script language='javascript'>eval("document.getElementById('city').options[document.getElementById('city').value='<?php echo $city ?>'].selected= true")</script>
правда это мне ничего не дало =(.
А нет, работает! =) Нашел свою ошибку- не туда вставил eval().
Огромное спасибо!!!
...
Рейтинг: 0 / 0
Передача JS-скрипта через JsHttpRequest
    #36273768
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что такое JsHttpRequest?
...
Рейтинг: 0 / 0
Передача JS-скрипта через JsHttpRequest
    #36278339
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck
А что такое JsHttpRequest?

тынць
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передача JS-скрипта через JsHttpRequest
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]