Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помоните Исправить бяку в Аяксе!!!!!!!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: не могу найти ошибку
Rus88
Отправлено: 30 Октября, 2009 - 08:07:20
Post Id



Гость


Покинул форум
Сообщений всего: 85
Дата рег-ции: Авг. 2009  


Помог: 0 раз(а)

[+]


Воопщем два селекта и аякс под них, работает вроде нормально, но проблема в том что при выборе значения в первом селекте откраваясь второй селект в этот же момент нижние объекты перемещаются на одну полосу со вторым селектом, помогите исправить ошибку.
вот сам скрипт:

PHP:
скопировать код в буфер обмена
  1.  
  2. function getXmlHttp()
  3. {
  4.         var xmlhttp;
  5.         try {
  6.                 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  7.         }
  8.         catch (e) {
  9.                 try {
  10.                         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  11.                 }
  12.                 catch (E) {
  13.                         xmlhttp = false;
  14.                 }
  15.         }
  16.         if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  17.                 xmlhttp = new XMLHttpRequest();
  18.         }
  19.         return xmlhttp;
  20. }
  21.  
  22. function get_podrazdels()
  23. {
  24.         var req = getXmlHttp();
  25.         var razdel = document.getElementById('razdels').value;
  26.         req.open('GET', 'getpodrazdels.php?name_id='+razdel, true);
  27.         req.send('name_id='+razdel);    
  28.         req.onreadystatechange = function() {
  29.                 if (req.readyState == 4) {
  30.                         if(req.status == 200) {
  31.                                 document.getElementById('podrazdels').innerHTML = req.responseText;
  32.                         }
  33.                         else
  34.                            document.getElementById('podrazdels').innerHTML = '<select name="podrazdel"><option value=any>Не удается загрузить</option></select>';
  35.                 }
  36.                 else return;
  37.     }
  38. }
  39.  


PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. include_once "config.php";
  4. header('Content-Type: text/html; charset=windows-1251');
  5. $id = (int)(trim($_GET['name_id']));
  6. $result = mysql_query('SELECT * FROM podrazdel WHERE name_id = '.$id);
  7. echo '<select name="podrazdel">';
  8. echo '<option value="any" selected>Любой</option>';
  9. while ($row = mysql_fetch_array($result)) {
  10.         echo '<option value='.$row['id'].'>'.$row['name'].'</option>';
  11. }
  12. echo '</select>';
  13. ?>
  14.  
 
 Top
scray
Отправлено: 07 Ноября, 2009 - 19:06:25
Post Id


Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)





Насчет JS кода, если я не ошибаюсь в этом запросе ничего отправлять не нужно, то есть null. Данные которые нужны сценарию getpodrazdels.php отправляются строкой вышел с помощью метода GET...
это не решение проблемы)))

(Отредактировано автором: 07 Ноября, 2009 - 19:08:43)

 
 Top
Мелкий Супермодератор
Отправлено: 07 Ноября, 2009 - 21:31:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Не понял я, что куда там перемещается? Разметка страницы плывёт при вставке списка? Или что?
Если да, то ни php, ни ajax тут ни при чём, вы значит что-то затираете в объекте "podrazdels", влияющее на разметку.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB