Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.07.2009, 16:24
Аспирант
Отправить личное сообщение для Zzet Посмотреть профиль Найти все сообщения от Zzet
 
Регистрация: 29.07.2009
Сообщений: 34

проверка данных формы
привет! у меня задача следующая есть доска объявлений. чтоб дать объяву надо зарегистрироваться, если не зарегистр регистрация происходит автоматически, если пользователь был уже ранее зарегистрирован проверяется данные в форме ввода с данными базы а именно логином и паролем. ка ксделать такую проверку без нажатия сабмит, а сразу после ввода подтверждения пароля то есть как тто динамически? в ява я пока плохо разбираюсь
Ответить с цитированием
  #2 (permalink)  
Старый 29.07.2009, 17:20
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Вам нужен AJAX.

1) Пишите функцию кроссбраузерной инициализации объёкта для асинхронного соединения.

var request = false;

// Функция инициализации объекта XMLHttpRequest
function CreateRequest() {
  try {
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = false;
      }
    }
  }

  if (!request) {
    alert("Ошибка инициализации XMLHttpRequest! Возможно\n" +
                "ваш браузер не поддерживает этот объект.");
  }
}


Допустим имеем следующую форму

Логин:
<input type="text" name="login" id="login">
Пароль:
<input type="password" name="pw" id="pw">


Получить значения полей в JS можно так:

login = document.getElementById("login").value;
pw = document.getElementById("pw").value;


2) Теперь нужно передать запрос серверу

// Функция отправки запроса
function ajax_request()
{
	// Вызов функции инициализации объекта XMLHttpRequest
	CreateRequest();

	// URL для подключения
	var url = "/папка_с_нужным_скриптом/нужный_скрипт.php?login=" +login + "&pw=" + pw +
		"&random=" + Math.random(); // random (случайное число) - чтобы не было глюков с кешированием

	request.open("GET", url, true);
	request.onreadystatechange = updatePage;
	request.send(null);
	function updatePage()
	{
		if (request.readyState == 4)
		if (request.status == 200)
		{
			// Вызов функции обработки ответа и передача ей ответа
			update_list(request.responseText);
			delete request;
		}
		else
		{
            alert("Сервер не ответил");
		}
	}
}


3) Далее сервер должен обработать запос и отправить ответ. Если серверная часть написана на PHP то переданные переменные будут находиться в массиве GET т.е. ($_GET['login'] и $_GET['pw']). Всё что сервер выводит в браузер является ответом, включая сообщения об ошибках.


4) Теперь нада обработать ответ. (Вообщета это можно было сделать в той же функции.)

// Функция выполняющаяся после ответа сервера на AJAX запрос
function update_list(text)
{
    document.getElementById("id_div").innerHTML = text;
}


Данная функция просто вставляет ответ в div с идом id_div

P.S.: Надеюсь мой ответ что-то прояснит. Чтобы лучше разобраться в этой теме наберите в гугле - ibm ajax.
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2009, 16:11
Аспирант
Отправить личное сообщение для Zzet Посмотреть профиль Найти все сообщения от Zzet
 
Регистрация: 29.07.2009
Сообщений: 34

можно ли какой нибудь примерчик полностью самый простой. запутался совсем
Ответить с цитированием
  #4 (permalink)  
Старый 31.07.2009, 22:05
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Это в общем то и был самый простой пимер. http://www.ibm.com/developerworks/ru...wa-ajaxintro1/ - здесь подробнее описано. Если осилите все статьи (штук 8), то всё поймёте.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение численных значений формы ввода FastSP Общие вопросы Javascript 8 08.04.2012 20:45
Помогите написать скрипт валидации формы RayOfLight Общие вопросы Javascript 2 27.07.2009 11:58
Обработка данных из формы в новом окошке diktator Events/DOM/Window 1 20.10.2008 12:51
Проверка полей формы Rush Общие вопросы Javascript 2 16.10.2008 23:44
проверка полей формы!!!! DENAT Общие вопросы Javascript 0 05.06.2008 22:14