|
|
|
|
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function checkLogin(
{
var login = document.getElementById('login').value;
$("#logincheck").html('<img src="indicator.gif" />');
$("#logincheck").load("logincheck.php", { login: login });
}
</script>
</head>
<body>
<form id="regform" name="regform" method="post" action="">
<label>Логин:<input type="text" name="login" id="login" /></label>
<span class="checkit" style="cursor:pointer;" onclick="checkLogin();">Проверить</span>
<div id="logincheck"></div>
</form>
|
logincheck.php
<?php
header('Content-Type: text/html; charset=utf-8');
include_once ('../config.php');//сonnect BD
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
{
$login = $_REQUEST['login'];
echo '<br/>login : '.$login;
}
|
Никакой реакции в чем может быть ошибка? | |
|
|
|
|
|
|
|
для: serjinio
(10.05.2009 в 12:47)
| | >в чем может быть ошибка?
Ошибка ваша - в бездумном использовании JS-библиотек.
Связь страницы с сервером организуется 15-ю строчками чистого JS-кода.
Но вам же этого не надо.
Вам же надо, как и всем - ОБЯЗАТЕЛЬНО использовать jquery.
Без jquery сейчас же никуда! Это же - МОДНО!
Блондинки от программирования, плять... | |
|
|
|
|
|
|
|
для: PAT
(10.05.2009 в 13:12)
| | Ошибка ваша - в бездумном использовании JS-библиотек.
Не в этом..просто никогда не занимался JS :) взял готовый пример и разбираюсь..
Помогите с кодом связи с сервером посредством JS ,есть желание разобраться с данным примером | |
|
|
|
|
|
|
|
для: serjinio
(10.05.2009 в 13:31)
| | см., например, http://codecenter.awardspace.com/selects.html
1. Сначала - создаёте объект htReg (переписывайте 1 к 1)
2. По клику вызываете функцию sendReq (), которой передаёте проверяемый логин
onclick="sendReq (document.getElementById ('login').value)"
function sendReq (x)
{
htReq.open ('get', 'logincheck.php?' + encodeURIComponent (x));
htReq.onreadystatechange = getReq;
htReq.send (null);
}
|
3. Сервер уже САМ, отдав ответ, запустит работу функции getReq ()
function getReq () {if (htReq.readyState == 4) myFunc (htReq.responseText)}
|
4. Откуда последует вызов ВАШЕЙ_ФУНКЦИИ myFunc, в которой можете делать всё что хотите с полученной строкой htReq.responseText от сервера.
Для тестирования просто посмотрите - что именно получено от cервера:
function myFunc (x) {alert (x)}
|
---------
Естественно, переработайте скрипт logincheck.php - чтобы он обрабатывал QUERY_STRING - пример простейшего такого файла найдёте по указанной ссылке прямо на странице. | |
|
|
|
|
|
|
|
для: PAT
(10.05.2009 в 14:00)
| | Спасибо PAT,кое что прояснилось
<script type="text/javascript" language="javascript">
//сначала создаём реквест с учётом индивидуальных особенностей браузеров
if (navigator.appName == 'Microsoft Internet Explorer')htReq = new ActiveXObject ('Microsoft.XMLHTTP');
else htReq = new XMLHttpRequest ();
function getReq ()
{
if (htReq.readyState == 4)
{
if(htReq.status == 200)
{
//если реквест нормально обработался на сервере и пришёл нормальный ответ то
myFunc (htReq.responseText);
}
}
}
function sendReq (x)
{
//открываем реквест и задаём начальные параметры
htReq.open ('get', 'logincheck.php?' + encodeURIComponent (x), true);
//при смене статуса реквеста будет вызываться функция getReq()
htReq.onreadystatechange = getReq;
//посылаем реквест на сервер
htReq.send (null);
}
//тут и получаем конечные данные
function myFunc (x)
{
alert (x)
}
</script>
<form id="regform" name="regform" method="post" action="logincheck.php">
<label>Логин:<input type="text" name="login" id="login" /></label>
<span class="checkit" style="cursor:pointer;" onclick="sendReq (document.getElementById ('login').value)">Проверить</span>
<div id="logincheck"></div>
</form>
|
а как вместо alert (x) вывести значение
$q_str = $_SERVER['QUERY_STRING'];
echo 'login : '.$q_str;
|
в <div id="logincheck"></div> | |
|
|
|
|
|
|
|
для: serjinio
(10.05.2009 в 19:55)
| | $('#logincheck').text('ТУТ ВАШ ТЕКСТ');
кстати зря хаят jquery - вместо этих 15 строк в jquery будет одна
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function checkLogin(
{
var login = document.getElementById('login').value;
$("#logincheck").html('<img src="indicator.gif" />');
$.post("logincheck.php". {login: $('#login').val()}, function(data){
$('#logincheck').text(data);
})
}
</script>
</head>
<body>
<form id="regform" name="regform" method="post" action="">
<label>Логин:<input type="text" name="login" id="login" /></label>
<span class="checkit" style="cursor:pointer;" onclick="checkLogin();">Проверить</span>
<div id="logincheck"></div>
</form>
|
<?php
include_once ('../config.php');//сonnect BD
if($_POST['login'] == $login) print 'login : '.$login;
exit;
|
| |
|
|
|
|
|
|
|
для: Balamut182
(10.05.2009 в 21:19)
| | >кстати зря хаят jquery - вместо этих 15 строк в jquery будет одна
А скоКА строк в самом jquery-1.3.2.min.js?
Пересчитайте :-) | |
|
|
|
|
|
|
|
для: serjinio
(10.05.2009 в 19:55)
| |
function myFunc (x)
{
document.getElementById ('logincheck').innerHTML = x;
}
|
| |
|
|
|
|
|
|
|
для: PAT
(10.05.2009 в 21:45)
| | одна. но длиннаяяяя :)
зато не надо парица с кроссбраузерностью + есть много удобных функций
ессно использовать jquery только для того чтобы выполнить 1 функцию не стоит, а вот если писать большой код - с jquery удобнее | |
|
|
|
|
|
|
|
для: Balamut182
(10.05.2009 в 22:10)
| | Все правильно, если вопрос касается разработки коммерческого проекта и есть конкретные сроки то выдумывать велосипед нет смысла, никто денег на за километры кода написанного вручную не даст, гораздо целесообразней использовать библиотеки. а jQuery лучше не придумаеш.
ну разве не удобно использовать вместо.
document.getElementById ('login').value => $('#login').val()
или
document.getElementById ('logincheck').innerHTML => $('#logincheck').html()
<script type="text/javascript">
function checkLogin()
{
$('#login_info').html('идет обработка данных');
$.post('login_ajax.php',{login: $('#login').val(), pass:$('#pass').val() },
function(data)
{
if (data != 'empty')
{
$('#login_info').html(data);
}
}
);
}
</script>
|
| |
|
|
|
|
|
|
|
для: fire_f12
(18.05.2009 в 09:22)
| | >"если вопрос касается разработки коммерческого проекта"
то обращаются обычно к СПЕЦИАЛИСТУ
>"выдумывать велосипед нет смысла"
у СПЕЦИАЛИСТА имеются давно
разработанные и обсосанные со всех сторон СВОИ конкретные решения
конкретных часто встречающихся проблем.
>"никто денег на за километры кода написанного вручную не даст"
Неспециалисту действительно денег не дадут - хоть километры он испишет,
хоть чужой библиотекой воспользуется. Только вот когда неспециалист
пользуется чужой библиотекой, он может ВРЕМЕННО создать видимость
своей "доделанности".
>"ну разве не удобно использовать"
СПЕЦИАЛИСТ от неспециалиста отличается тем, что он знает и понимает -
как ВСЁ, им написанное, работает - от первого и до последнего символа.
А неспециалист потому и использует чужое, потому что ему В ПРИНЦИПЕ
не хочется понимать - как и что работает.
[поправлено модератором] | |
|
|
|
|
|
|
|
для: PAT
(18.05.2009 в 12:25)
| | без комментариев... динозавры обречены на вымирание...
http://www.linux.org.ru/view-message.jsp?msgid=3129559 | |
|
|
|
|
|
|
|
для: PAT
(18.05.2009 в 12:25)
| | жаль что поправили
такой пост был... | |
|
|
|