xmlHttp = new XMLHttpRequest();
function callServer(){
var id = document.getElementById('id').value;
var server = "./test2.php?id="+id;
xmlHttp.open("GET", server, true);
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}
function updatePage() {
if (xmlHttp.readyState == 4) {
var response = xmlHttp.responseText;
alert(response);
document.getElementById("url").value = response;
}
}
и форма простая
<form>
<p>Id:<input type="text" id="id" onchange="callServer()"></p>
<p>URL:<input type="text" id="url"></p>
</form>
далее файл обработчик запроса test2.php
if(!empty($_GET['id'])){
$id = $_GET['id'];
$query = "SELECT * FROM `com` WHERE `id`=".$id;
$msq = mysql_query($query);
$arr = mysql_fetch_assoc($msq);
$response = $arr['url'];
return string $response;
}
при заполнении в форме поля id происходит запрос, но когда дело доходит до ответа сервера, alert(response); выдает пустой алерт, а если указать alert(response[0]); то выдаст undefined вот у меня возникает вопрос чтоже с этим делать, как правильно вернуть инфу в форму?
Спустя 6 минут, 38 секунд (19.11.2011 - 16:05) Игорь_Vasinsky написал(а):
Спустя 34 минуты, 30 секунд (19.11.2011 - 16:40) flinth написал(а):
Спасибо, я разобрался в своем примере, php часть нужно было сделать так
тогда alert вывел бы то что надо.
Игорь_Vasinsky, а вот подскажите, если использовать jquery библиотеки, то соблюдается ли кросбраузерность и не слишком ли jquery ресурсозатратен?
if(!empty($_GET['id'])){
$id = $_GET['id'];
$query = "SELECT * FROM `com` WHERE `id`=".$id;
$msq = mysql_query($query);
$arr = mysql_fetch_assoc($msq);
$response = $arr['url'];
echo $response;
}
тогда alert вывел бы то что надо.
Игорь_Vasinsky, а вот подскажите, если использовать jquery библиотеки, то соблюдается ли кросбраузерность и не слишком ли jquery ресурсозатратен?
Спустя 56 минут, 28 секунд (19.11.2011 - 17:36) Игорь_Vasinsky написал(а):
кроссбраузерность создаётся стилями CSS, JQ это фрейморк от JS, который позволяет значительно упростить оброщение к эоементам через DOM, а след-но сократить код.
Спустя 54 секунды (19.11.2011 - 17:37) Игорь_Vasinsky написал(а):
просто нужно думать - подключить эту библию весом в 15кб для замены 15 строчек чистого JS - или нет.