Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: AJAX
ТвойWeb » WebMaster класс » JavaScript » AJAX

Страниц (4): [1] 2 3 4 »
 

1. chiv - 17 Марта, 2006 - 02:21:51 - перейти к сообщению
Всем доброго времени суток.
Решил попробовать на деле эту штуку...
Нашёл в сети статейку с простеньким примером, стал последовательно выполнять все шаги... В результате получается только ошибкаОгорчение
Помогите разобратьсяhelp
Вот сама страничка:
CODE:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" href="body0000.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000" style="margin:0px;" marginwidth=0 marginheight=0>
<script type='text/javascript'>
var req;
function loadXMLDoc(url) {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send();
}
}
}
function processReqChange()
{
// only if req shows "complete"
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
// ...processing statements go here...
response = req.responseXML.documentElement;

method = response.getElementsByTagName('method')[0].firstChild.data;

result = response.getElementsByTagName('result')[0].firstChild.data;

eval(method + '(\'\', result)');
} else {
alert("There was a problem retrieving the XML data:\n" + req.statusText);
}
}
}
function checkName(input, response)
{
if (response != ''){
// Response mode
message = document.getElementById('nameCheckFailed');
if (response == '1'){
message.className = 'error';
}else{
message.className = 'hidden';
}
}else{
// Input mode
url = './checkUserName.php?q=' + input;
loadXMLDoc(url);
}
}
</script>
<FORM ACTION="./out.php" METHOD="post" name="outform">
<input id="username" name="username" type="text" onblur="checkName(this.value,'')" />
<span class="hidden" id="nameCheckFailed">
This name is in use, please try another.
</span>
<BR><INPUT TYPE="SUBMIT" SIZE="70" NAME="out" VALUE="Выдать">&nbsp;&nbsp;&nbsp;<input type="reset" value="очистить">
</FORM>
</body>
</html>

В файле body0000.css присутствуют следующие строки
CODE:
span.hidden{
display: none;
}
span.error{
display: inline;
color: black;
background-color: pink;
}

Файл checkUserName.php:
CODE:
<?php
header('Content-Type: text/xml');
function nameInUse($q)
{
if (isset($q)){
switch(strtolower($q))
{
case 'drew' :
return '1';
break;
case 'fred' :
return '1';
break;
default:
return '0';
}
}else{
return '0';
}
}
?>
<?php echo '<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>'; ?>
<response>
<method>checkName</method>
<result><?php
echo nameInUse($_GET['q']) ?>
</result>
</response>

В случае, когда в поле формы вводится fred или drew должно появлятся сообщение "This name is in use, please try another".
2. Леголегс - 17 Марта, 2006 - 11:25:00 - перейти к сообщению
chiv пишет:
В результате получается только ошибка
Ох... Какая ошибка, где? Что в ней пишется? Нету телепатов!
chiv пишет:
method = response.getElementsByTagName('method'Подмигивание \\
[0].firstChild.data;
чё-то я не понял что это ты такое изобрёл с двумя бэкслешами.
3. chiv - 20 Марта, 2006 - 04:19:20 - перейти к сообщению
Цитата:
чё-то я не понял что это ты такое изобрёл с двумя бэкслешами.

Да это не я изобрёл, это было в статье, с которой копировалось. Эти слеши, видимо, обозначают, что перевод строки выполнен для удобочитаемости.
Ошибка была в JS - ИЕ в строке статуса писал, что страница выполнена с ошибками. После удаления бэкслешей ошибка пропала, но скрипт всёравно не выполняется так как должен.
Статья с которой я начал: http://www.webmascon.com/topics/...nologies/13a.asp
4. Леголегс - 20 Марта, 2006 - 12:14:52 - перейти к сообщению
chiv пишет:
но скрипт всёравно не выполняется так как должен.
chiv, ну ты что, серьёзно думаешь, что этой информации достаточно, чтобы дать тебе вразумительный совет?
5. chiv - 21 Марта, 2006 - 00:53:43 - перейти к сообщению
Ну, еслиб я думал, что информации недостаточно...
В указанной статье описана идея и пошаговая инструкция. Итоговый текст я представил.
Однако:
Цитата:
В случае, когда в поле формы вводится fred или drew должно появлятся сообщение "This name is in use, please try another".
никакого сообщения не появляетсяОгорчение
6. Леголегс - 21 Марта, 2006 - 11:30:56 - перейти к сообщению
chiv
Т.е. не появляется и всё? По-тихому? Никаких ошибок ни на сервере ни в JS? А где бы можно посмотреть это (не статью, а систему, что не работает)
7. chiv - 22 Марта, 2006 - 03:53:24 - перейти к сообщению
Всё пробовалось на локальном компе с установленным Денвером. Браузер никаких ошибок не выдаёт (пробовал в Опере и ИЕ), на сервере проверил файл error.log - там тоже ничего нетОгорчение
8. chiv - 22 Марта, 2006 - 04:04:14 - перейти к сообщению
Только написал, решил ещё раз проверить и ИЕ выдал ошибку:
There was a problem retrieving the XML data: Unknoun
9. Maverick - 22 Марта, 2006 - 04:47:23 - перейти к сообщению
извините, погорячился... думаем...
10. Леголегс - 22 Марта, 2006 - 11:17:04 - перейти к сообщению
chiv
А у тебя xml правильный с сервера приходит? Попробуй загрузить вручную

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0383]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33