Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помощь по ajax-у
 
 автор: denandi   (02.01.2010 в 18:59)   письмо автору
 
 

Всех приветствую, с праздничком!
Решил освоить ajax – помогите реализовать простой пример.
Я взял основную функцию обертку, с ней у меня проблемы.
Как реализовать select через post
Буду очень признателен за помощь.

function callServer() {
         var q = document.getElementById("qw").value;
//         var q = document.all.wwww.selectedIndex; //...какой из вариантов верный????

  var url = "?????";  

  xmlHttp.open("POST", url, true);
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlHttp.onreadystatechange = updatePage;
  xmlHttp.send(null);
}
..
 function updatePage() {
     if (xmlHttp.readyState == 4) {
       if (xmlHttp.status == 200) {
document.getElementById("onse").innerHTML = xmlHttp.responseText;
       } else
         alert("status is " + xmlHttp.status);
     }
   }
// -->
</script>

</head>

<body>
<? var_dump($_REQUEST);?>
<div id="onse"></div><br>

<form >
<select name="wwww" onchange="callServer();" id="qw">
<optgroup label="111111">
  <option value="a1">22222</option>
  <option value="a2">333333333</option>
  <option value="a3">4444444444</option>
</optgroup>
</select> 
</form>

  Ответить  
 
 автор: elenaki   (02.01.2010 в 19:48)   письмо автору
 
   для: denandi   (02.01.2010 в 18:59)
 

<form method="post">
по умолчанию метод - GET

  Ответить  
 
 автор: denandi   (02.01.2010 в 20:14)   письмо автору
 
   для: elenaki   (02.01.2010 в 19:48)
 

Да, нет, дело не в этом - можно и get слать.. только ничего не выходит - гдето ошибка, а где хрен знает.
не умею отлаживать js. нужна мощь зала, так гадание.. :))

  Ответить  
 
 автор: mycoding   (02.01.2010 в 20:31)   письмо автору
 
   для: denandi   (02.01.2010 в 20:14)
 

Глянь вот эту функцию может она больше тебе понравится


function load(a,where)



if(window.ActiveXObject)
{
  try
  {
   xml=new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch (e)
  {
  xml=false;
  }
}
else
{
  try
  {
  xml=new XMLHttpRequest();
  }
  catch (e)
  {
  xml=false;
  }
}

if(!xml) alert("Error creating the XMLHttpRequest object");

 
  xml.onreadystatechange = function()
        { 
                    if(xml.readyState != 4 || xml.readyState==0)
                {
                        document.getElementById(where).innerHTML=" <img src='/img/pb.gif'> ";    
                      }
            if(xml.readyState == 4)
            {
                if(xml.status == 200)
                {
                    document.getElementById(where).innerHTML=xml.responseText;    
                }    
                else    
                {
                    document.getElementById(where).innerHTML="Error: returned status code " + xml.status + " " + xml.statusText;
                }    
            } 
        }; 
   xml.open("GET", a, true); 
   xml.send(null);

}

  Ответить  
 
 автор: Denandi   (02.01.2010 в 20:51)   письмо автору
 
   для: mycoding   (02.01.2010 в 20:31)
 

Спасибо, только вопрос это не решает.
Мне нужна помощь по моему примеру.. тех кто работает более подробно с аяксом а не просто подключается.

  Ответить  
 
 автор: Lelik   (02.01.2010 в 21:13)   письмо автору
 
   для: denandi   (02.01.2010 в 18:59)
 


var q = document.getElementById("qw").value; //...какой из вариантов верный???? этот


и что значит "select через post"?

  Ответить  
 
 автор: kostiaGt   (03.01.2010 в 02:48)   письмо автору
 
   для: denandi   (02.01.2010 в 18:59)
 


var q = document.getElementById("qw").value;
//         var q = document.all.wwww.selectedIndex; //...какой из вариантов верный???? 


Первый вариант будет работать с Firefix-ом второй, с Oper и IE если ты не используешь библиотеку Prototype.


 xmlHttp.onreadystatechange = updatePage;


Не понял что это за переменная
updatePage


Для отладки скриптов отлично работает плагин Firebug в Firefox.

Я тебе советую освоить один или несколько js фреймвоков например jquery http://jquery.com
там для работы с ajax используется одна строчка и не нужно париться с подгонкой под браузеры.

  Ответить  
 
 автор: dyadya   (03.01.2010 в 20:12)   письмо автору
 
   для: denandi   (02.01.2010 в 18:59)
 

xmlHttp.onreadystatechange = updatePage();

  Ответить  
 
 автор: Denandi   (03.01.2010 в 20:54)   письмо автору
 
   для: dyadya   (03.01.2010 в 20:12)
 

не верное updatePage();

разобрался, все дело в формировании url и заголовка
всем спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования