X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Связанные выпадающие списки. Не работают в IE.
_SeReGa_2
_SeReGa_2
Topic Starter сообщение 24.9.2011, 10:02; Ответить: _SeReGa_2
Сообщение #1


Не работает в IE8 , возможно и в др. версиях. В др. браузерах всё работает 100%. Помогите выяснить в чём причина. В javascripte плохо соображаю.

Жирным текстом выделил строку , возможно в которой кроется причина не работы.



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>


[PHP]
<?php

$host='localhost'; // имя хоста
$database='se'; // имя базы данных
$user='ro'; // заданное вами имя пользователя
$pswd='19'; // заданный вами пароль
// подключаемся к MySQL
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");


define("db_prefix","geo_");


if(isset($_GET['country'])){
echo "<option value='0'>выбрать регион</option>\n";
$z = ('SELECT * FROM '.db_prefix.'area WHERE country='.$_GET["country"].'');
$res = mysql_query($z);
while($row = mysql_fetch_array($res))
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>\n";
die;
}
elseif(isset($_GET['region'])){
echo "<option value='0'>выбрать город</option>\n";
$z = ('SELECT * FROM '.db_prefix.'city WHERE area="'.$_GET["region"].'"');
$res = mysql_query($z);
while($row = mysql_fetch_array($res))
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>\n";
die;
}
elseif(isset($_GET['city'])){

echo "
<div style='border: #C5D3DC 1px solid; padding: 10px; width: 97%;'>
Вы сделали свой выбор!
</div>";
die;
}
?>
[/PHP]
<select name="country" id="country" onLoad="this.focus = false;"
onChange="ajaxLoad('region', 'ser.php?country='+this.options[this.selectedIndex].value, '','',''); document.getElementById('region').disabled='';">
<option value="0">выбрать страну</option>

[PHP]
<?php
$z = ('SELECT * FROM '.db_prefix.'country');
$res = mysql_query($z);
while($row = mysql_fetch_array($res)){
if($row['id']==@$country){
echo "<option value='" . $row['id'] . "' selected='selected'>" . $row['name'] . "</option>\n";
$country=$row['id'];}
else
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>\n";
}
?>[/PHP]

</select>

<select name="region" id="region" <?=(@$country?'':'disabled="disabled"')?>
onChange="ajaxLoad('city', 'ser.php?region='+this.options[this.selectedIndex].value, '','',''); document.getElementById('city').disabled='';">
<option value="0" disabled="disabled">выбрать регион</option>


[PHP]<?php
if(@$country){
$z = ('SELECT * FROM '.db_prefix.'area WHERE country='.$country);
$res = mysql_query($z);
while($row = mysql_fetch_array($res)){
if($row['id']==$region){
echo "<option value='" . $row['id'] . "' selected='selected'>" . $row['name'] . "</option>\n";
$region=$row['id'];}
else
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>\n";
}
}
?>
[/PHP]
</select>


<select name="city" id="city" <?=(@$region?'':'disabled="disabled"')?>
onChange="ajaxLoad('info', 'ser.php?city='+this.options[this.selectedIndex].value, '','','');">

<option value="0" disabled="disabled">выбрать город</option>


[PHP]
<?php
if(@$region){
$z = ('SELECT * FROM '.db_prefix.'city WHERE area='.$region);
$res = mysql_query($z);
while($row = mysql_fetch_array($res)){
if($row['id']==@$city){
echo "<option value='" . $row['id'] . "' selected='selected'>" . $row['name'] . "</option>\n";
$region=$row['id'];}
else
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>\n";
}
}
?>[/PHP]

</select>

<div id="info">
</div>

<script language=JavaScript>


function ajaxLoad(obj,url,defMessage,post,callback){
var ajaxObj;
if (defMessage) document.getElementById(obj).innerHTML=defMessage;
if(window.XMLHttpRequest){
ajaxObj = new XMLHttpRequest();
} else if(window.ActiveXObject){
ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
return;
}
ajaxObj.open ((post?'POST':'GET'), url);
if (post&&ajaxObj.setRequestHeader)
ajaxObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8;");

ajaxObj.onreadystatechange = ajaxCallBack(obj,ajaxObj,(callback?callback:null));
ajaxObj.send(post);
return false;
}
function updateObj(obj, data, bold, blink){
if(bold)data=data.bold();
if(blink)data=data.blink();


document.getElementById(obj).innerHTML = data;
}
function ajaxCallBack(obj, ajaxObj, callback){
return function(){
if(ajaxObj.readyState == 4){
if(callback) if(!callback(obj,ajaxObj))return;
if (ajaxObj.status==200)
updateObj(obj, ajaxObj.responseText);
else updateObj(obj, ajaxObj.status+' '+ajaxObj.statusText,1,1);
}
}}

</script>
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 24.9.2011, 10:17; Ответить: Den1xxx
Сообщение #2


_SeReGa_2, в коде который вываливаете в таком виде, трудно разобраться.
Потому что:
1. Неизвестно, за что отвечают те или иные функции или переменные, например LoadGeo etc
2. Нет подсветки кода - трудно читать
3. Нет исходника HTML

Чтобы нормально разобраться с яваскриптом, нужно выкладывать исходный код страницы в HTML -- как она сгенерировалась.
Совсем хорошо и правильно подсветить код (выделить вставленное и нажать кнопку "HTML" в редакторе).
Ещё можно приложить скриншоты, на которых выделить проблему.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
_SeReGa_2
_SeReGa_2
Topic Starter сообщение 24.9.2011, 10:39; Ответить: _SeReGa_2
Сообщение #3


Суть заключается в том, что когда выбираешь из выпадающего списка country (т.е. из 1 списка на основании которого формируется второй список region) в браузере IE данный выбор не работает. В др. браузерах всё работает замечательно.[attachment=38222:123.jpg]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) По какому принципу работают ускорители индексации сайта?
5 Lifelove 1646 29.1.2024, 9:50
автор: Skyworker
Открытая тема (нет новых ответов) Списки всех зарегистрированных доменов с указанными NS адресами
11 phosphoruss 8710 4.11.2021, 21:07
автор: phosphoruss
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыДоработать поиск, привязать выпадающие подсказки (suggest)
json
2 Nemo 3038 6.5.2018, 12:09
автор: WoWeb
Открытая тема (нет новых ответов) не работают media запросы
0 cadet 5764 8.11.2016, 20:03
автор: -cadet-
Открытая тема (нет новых ответов) Отличный контент для СДЛ: быстро, качественно и дешево! Работают профессионалы!
Огромное количество бонусов, цены не кусаются, отличное качество
19 LuckerMan 6993 6.7.2016, 19:10
автор: bifot


 



RSS Текстовая версия Сейчас: 26.4.2024, 4:50
Дизайн