Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
webstr
1

Не работает ajax в ie

16.02.2012, 01:48. Показов 2235. Ответов 7
Метки нет (Все метки)

Помогите пожалуста не работает ajax в ie в файрфоксе в опере всё нормально

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?php 
/* Хост */ $host='localhost';
/* Пользователь */ $user='a_user';
/*Пароль пользователя*/ $pass='123';
/* База данных */ $db_name='a';
 
$dbh = mysql_connect($host, $user, $pass) or die("Не могу соединиться с MySQL.");
mysql_select_db($db_name) or die("Не могу подключиться к базе.");
 
define("db_prefix","pb_");
 
function sql($query) {
    $res=mysql_query ( $query );
    if(!$res)die("Запрос:\n".$query."\n");
    return $res;
}
 
 
 
if(isset($_GET['product'])){
   $product=$_SESSION['product']=intval($_GET['product']); // 1-импортная
   echo '<option value=0 selected>Выберите марку</option>';
   $res = sql('SELECT * FROM '.db_prefix.'marka WHERE product='.$product.' ORDER by name');
   while($row = mysql_fetch_array($res))
    echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>\n";
   exit;    
}
elseif(isset($_GET['marka'])){
   $marka=$_SESSION['marka']=intval($_GET['marka']);
   $res = sql('SELECT * FROM '.db_prefix.'model WHERE marka='.$marka.' ORDER by name');
   /* todo if(mysql_num_rows($res)>1) */ echo '<option value=0 selected>Выберите модель</option>';
    while($row = mysql_fetch_array($res))
        echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>\n";
   exit;    
}elseif(isset($_GET['model'])){
    $id_model=intval(param('model'));
    $res = sql('SELECT * FROM '.db_prefix.'model WHERE id='.$id_model.' LIMIT 1');
    if(!($row = mysql_fetch_array($res)))die;
    $model=$row['name'];
    $id_marka=intval($row['marka']);
    $res = sql('SELECT * FROM '.db_prefix.'marka WHERE id='.$id_marka.' LIMIT 1');
    if(!($row = mysql_fetch_array($res)))die;
    $marka=$row['name'];
    $product=intval($row['product']);
 
echo "
<div style='border: #C5D3DC 1px solid; padding: 10px; width: 97%;'>
производитель=<b>".($product==1?' импортное ТС':'отечественное ТС')."</b>
<br/>марка=<b>".$marka."</b>
<br/>модель=<b>".$model."</b>
</div>";
   mysql_close();
   die;    
}
 
 
$script=@$_SERVER['SCRIPT_URL']; if(!$script)$script=@$_SERVER['REQUEST_URI'];
 
$_SESSION['marka']=$_SESSION['model']=0;
$_SESSION['product']=1;
?>
<table border="0" cellspacing="0" cellpadding="5" align="center">
<tr>
<td width="250">Производитель транспортного средства (ТС) 
<td>
<input type="radio" CHECKED value="1" name="product"
    onClick="ajaxLoad('marka', '<?=$script?>?product='+this.value, '','',''); ">&nbsp;Иностранное ТС<br>
<input type="radio" value="2" name="product"
    onClick="ajaxLoad('marka', '<?=$script?>?product='+this.value, '','',''); ">&nbsp;Отечественное ТС<br>
<td width="250">&nbsp;
 
<tr>
<td colspan="3" class="blank">
<tr>
<td id="markat">Марка ТС
<td><select style="WIDTH: 200px; height:21" name="marka" id="marka" onLoad='this.focus = false;' 
onChange="getObj('model').disabled=''; ajaxLoad('model', '<?=$script?>?marka='+this.options[this.selectedIndex].value, '','','');">
    <option value=0 selected>Выберите марку</option>
<?
$res = sql('SELECT * FROM '.db_prefix.'marka WHERE product=1 ORDER by name');
while($row = mysql_fetch_array($res))
   echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>\n";
?>
</select>
<tr>
<td colspan="3" class="blank">
<tr>
<td id="modelt">Модель ТС
<td><select style="WIDTH: 200px; height:21" name="model" id="model" <?=(@$marka?'':'disabled="disabled"') ?>  
onChange="ajaxLoad('info', '<?=$script?>?model='+this.options[this.selectedIndex].value, '','','');" >
    <option value selected disabled="disabled">Выберите модель</option>
</select>
<tr>
<td colspan="3" class="blank">
<tr>
<td id="explt">Год выпуска ТС
<td><select style="WIDTH: 200px; height:21" name="expl">
    <option value selected>Выберите значение</option>
<? for($i=0;$i<=15;$i++) echo "<option value='".$i."'>".(intval(date("Y"))-$i)."</option>\n";
?>
</select>
 
</table>
 
<div id="info"></div>
 
 
<script language=JavaScript><!--
function getObj(objID)
{
    if (document.getElementById) {return document.getElementById(objID);}
    else if (document.all) {return document.all[objID];}
    else if (document.layers) {return document.layers[objID];}
}
 
 
 
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; 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>
        
?>

Таблицы базы данных

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE IF NOT EXISTS pb_marka (
  id        INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name`    CHAR(64) COLLATE cp1251_bin NOT NULL,
  product    tinyint(3) UNSIGNED NOT NULL,
  PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;
 
CREATE TABLE IF NOT EXISTS pb_model (
  id        INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  marka        INT(10) UNSIGNED NOT NULL,
  `name`    CHAR(64) COLLATE cp1251_bin NOT NULL,
  PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2012, 01:48
Ответы с готовыми решениями:

не работает ajax из ajax`a
сама функция,которая не работает(ответа не приходит,следовательно не посылается ничего?) function...

Не работает кнопка "ответить" в комментариях. + не работает AJAX обновление при добавление комментария
Проблемы эти начались после обновления движка с 9.8 до 10.5. Все загрузил, все поставил, шаблон...

Не работает AJAX
начал учить ajax, но че-то не получается вот код: html: &lt;input type=&quot;text&quot; name=&quot;txt&quot; id=&quot;txt&quot;...

Не работает Ajax(
Подскажите. В чем проблема? Не присылаются письма на мыло. &lt;?php $name = $_POST; $email =...

7
weboman
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
16.02.2012, 09:25 2
форматировать видно не судьба, но это моды исправят, ладно, а вот с кодировкой вашей таблицы могут быть большие проблемы, попробуйте поменять вообще все что есть, всю кодировку где видите на UTF-8. Вплоть до самого Денвера, или что там у вас за сборка.
0
webstr
17.02.2012, 16:06 3
У меня на хостинге не работает у меня нет доступа к нему есть доступ только к коду самого скрипты
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
18.02.2012, 19:09 4
попробуй эту строчку
Цитата Сообщение от webstr Посмотреть сообщение
ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
поменять на
Javascript
1
ajaxObj = new ActiveXObject("Msxml2.XMLHTTP");
0
13 / 13 / 2
Регистрация: 13.02.2013
Сообщений: 45
15.02.2013, 13:50 5
Вы решили этот вопрос? Если да, отпишитесь, такая же проблема возникла!!!!
0
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
15.02.2013, 14:46 6
используйте jquery и не будет такой проблемы
0
13 / 13 / 2
Регистрация: 13.02.2013
Сообщений: 45
15.02.2013, 14:51 7
а можно код jquery посмотреть!!
0
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
15.02.2013, 14:53 8
http://jquery-docs.ru/Ajax/
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2013, 14:53
Помогаю со студенческими работами здесь

Не работает Ajax
Всем привет. Изучаю Ajax запросы. В блоке с id = myid делаю получаю массив из базы данных который...

Не работает Ajax
Братцы, помогите разобраться с Ajax запросом: у меня есть функция $test_functions=...

Не работает AJAX
Цель: загружать в модальное окно внешний файл с текстом , изображением или видео. На локалке все...

Не работает Ajax
В консоли ошибок js никаких нет, но браузер выдает Ошибка Ajax: данные не получены &lt;!--...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru