|
|
|
| Всех приветствую, с праздничком!
Решил освоить 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>
|
| |
|
|
|
|
|
|
|
для: denandi
(02.01.2010 в 18:59)
| | <form method="post">
по умолчанию метод - GET | |
|
|
|
|
|
|
|
для: elenaki
(02.01.2010 в 19:48)
| | Да, нет, дело не в этом - можно и get слать.. только ничего не выходит - гдето ошибка, а где хрен знает.
не умею отлаживать js. нужна мощь зала, так гадание.. :)) | |
|
|
|
|
|
|
|
для: 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);
}
|
| |
|
|
|
|
|
|
|
для: mycoding
(02.01.2010 в 20:31)
| | Спасибо, только вопрос это не решает.
Мне нужна помощь по моему примеру.. тех кто работает более подробно с аяксом а не просто подключается. | |
|
|
|
|
|
|
|
для: denandi
(02.01.2010 в 18:59)
| |
var q = document.getElementById("qw").value; //...какой из вариантов верный???? этот
|
и что значит "select через post"? | |
|
|
|
|
|
|
|
для: 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;
|
Не понял что это за переменная
Для отладки скриптов отлично работает плагин Firebug в Firefox.
Я тебе советую освоить один или несколько js фреймвоков например jquery http://jquery.com
там для работы с ajax используется одна строчка и не нужно париться с подгонкой под браузеры. | |
|
|
|
|
|
|
|
для: denandi
(02.01.2010 в 18:59)
| | xmlHttp.onreadystatechange = updatePage(); | |
|
|
|
|
|
|
|
для: dyadya
(03.01.2010 в 20:12)
| | не верное updatePage();
разобрался, все дело в формировании url и заголовка
всем спасибо. | |
|
|
|