Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625

Ajax отправка нескольких полей формы

13.11.2012, 16:17. Показов 5576. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Учусь по учебнику "Бретт Маклафлин - Изучаем Ajax". Прочел половину и не пойму, то ли я такой недалекий, то ли книга такая тяжелая. Вопрос. Каким образом, отправить несколько полей формы. И более того, как вытащить и использовать возвращенный сервером резутат.

Вот простейший код. Файл Index.php(Форма):
PHP
1
2
3
4
5
6
7
8
echo "<script language='javascript' src='text-utils.js'></script>";
echo "<script language='javascript' src='ajax.js'></script>";
 
echo "<form method='post'>";
echo "<input type='text' name='login' id='login' size='40' /><br><br>";
echo "<input type='button' value='Ok' onclick='getResult();' />";
echo "</form>";
echo "<div id='yes'></div>"
Файл Ajax.js:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var request = null;
 
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxm12.XMLHTTP");
} catch (othermicrosoft) {
try {
    request = new ActiveXObject("Microsoft.XMLHTTP");           
} catch (failed) {
request = null;
}           
}
}
}
 
function getResult() {
createRequest();
var text = document.getElementById('login').value;
var url = "result.php?login=" + escape(text);
var rnd = Math.floor(Math.random( ) * (9999999+1))
url = url + "&rd=" + rnd;
request.open("post", url, true);
request.onreadystatechange = updatePage;
request.send(null);
}
 
function updatePage() {
if(request.readyState==4) {
    if(request.status==200) {
    var newTotal = request.responseText;
    replaceText(yes, newTotal);
        }
    }
}

Файл result.php:
PHP
1
2
3
4
5
6
$login;
if(!empty($_REQUEST['login'])) {
    $login = $_REQUEST['login'];
    $login = iconv("utf-8", "windows-1251", $login);
    echo $login;
}


Функция replaceText() берется из файла text-utils.js. Она вставляет пришедшие данные в строку yes. Запись var rnd = Math.floor(Math.random( ) * (9999999+1)) - я добавил сам, чтобы url всегда был разным.


Я не пойму одного. Как принять и обработать те данные, которые у нас приходят после обработки скриптом result.php. В этом примере, представлена форма, с одним полем login. А если этих полей 10. Передать то их можно. Если я не ошибаюсь, для этого просто достаточно дописать переменную url, в функции getResult(). А вот как принять все эти 10 полей, после обработки их на стороне сервера? Чтобы каждое поле можно было обработать индивидуально. Если, скажем, в одном из этих полей, есть ошибка, вывести соответствующую ошибку. Итд. Вот такой вот вопрос. Изначальная цель : Хочу перевести форму регистрации у себя на сайте, в более быстрый вариант(без перезагрузки страницы) с использованием ajax.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2012, 16:17
Ответы с готовыми решениями:

Отправка формы AJAX
Привет, решил воспользоваться данной инструкцией https://www.poseti.net/articles/otpravka-formyi/ Применил на своей форме. Как мне в...

Ajax отправка формы
Доброй ночи уважаемые форумчане, наткнулся на такую проблему, хочу разделить обработчик формы и шаблон. Подскажите, что здесь не так. P.S....

Валидация формы и отправка на ajax
Привет всем! Делаю валидацию формы и после отправку писем с помощью jquery ajax Возникла проблема! После проверки полей форма не...

26
 Аватар для megaguru
16 / 16 / 1
Регистрация: 12.11.2012
Сообщений: 193
13.11.2012, 16:49
А вы не хотите использовать js фреймворк для работы с ajax? Любой подобный фреймворк уже заточен под кроссбраузерность. Не факт что тот ajax-код который вы напишете, будет кроссбраузерным.
0
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
13.11.2012, 17:20  [ТС]
Цитата Сообщение от megaguru Посмотреть сообщение
А вы не хотите использовать js фреймворк
Почему бы и нет. Главное чтобы принцип работы был понятен. Регистрацию на сайте я сделал. Все проверки стоят, но неудобно, когда страница перезагружается. Пользователя это раздражает. А что имелось ввиду под js фреймворком? Это скорее всего jquery?
0
 Аватар для megaguru
16 / 16 / 1
Регистрация: 12.11.2012
Сообщений: 193
13.11.2012, 17:25
Цитата Сообщение от stashappy Посмотреть сообщение
А что имелось ввиду под js фреймворком? Это скорее всего jquery?
Да. Посмотрите на jquery.com там всё очень подробно описано.
0
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
13.11.2012, 17:43  [ТС]
Цитата Сообщение от megaguru Посмотреть сообщение
Посмотрите на jquery.com
Хорошо, спасибо. Посмотрим.

Добавлено через 12 минут
jquery.com - Там все не по нашему, не по русски. Зашел в архив:
http://archive.plugins.jquery.... ugins/ajax
А где там найти, то что мне нужно, я не знаю. Разделов много, а какой из них мой...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
13.11.2012, 17:46
в поиске jquery.ajax, jquery.post, jquery.get
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
13.11.2012, 18:15  [ТС]
Господа. Ткните пожалуйста пальцем на заветную кнопку Download файла jquery.ajax.js. Не могу найти.

Добавлено через 10 минут
Еще один вопрос. $.ajax это отдельная js библиотека или все это уже входит в jquery.min.js?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
13.11.2012, 19:04
Цитата Сообщение от stashappy Посмотреть сообщение
$.ajax это отдельная js библиотека или все это уже входит в jquery.min.js?
Входит.
1
13.11.2012, 19:18

Не по теме:

Цитата Сообщение от stashappy Посмотреть сообщение
Ткните пожалуйста пальцем на заветную кнопку Download
такой нет) там все вместе - щелкаете на download и либо url-адрес вставляете в скрипт, либо сохраняете на комп файл с открывшимся содержанием и к нему прописываете путь

1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
13.11.2012, 20:07  [ТС]
Спасибо ребят. Буду дерзать. В интернете, насколько я заметил, информации много по $.ajax(). А свою книгу, выброшу на помойку. Кто начинает изучать ajax, читать ее не советую. Наверняка на эту тему, в интернете есть книги намного актуальнее, чем эта.
0
6 / 6 / 0
Регистрация: 28.07.2012
Сообщений: 47
13.11.2012, 21:06
Цитата Сообщение от stashappy Посмотреть сообщение
Прочел половину и не пойму
В книгах по ajax одна вода, сама эта технология не сложная, её просто нужно понять и имею мнение, что начинать её изучать надо по классич. js, есть один хороший ресурс внимательно прочтете и теория больше не нужна. Когда поймете что к чему, тогда и вникайте в jquery и тд. и тп.
0
 Аватар для megaguru
16 / 16 / 1
Регистрация: 12.11.2012
Сообщений: 193
13.11.2012, 21:11
Специально для вас кидаю сюда jquery-1.8.2 минимизированный.
Вложения
Тип файла: rar jquery-1.8.2.min.rar (31.4 Кб, 11 просмотров)
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
13.11.2012, 21:53  [ТС]
В книгах по ajax одна вода
Согласен. По крайней мере в той книге, которую я читал, 60-70% воды.
её просто нужно понять
В этом то и дело. Главное также, чтобы учебники и мануалы были хорошие. Иначе, какое тут понимание. А так с js знаком уже очень давно.
Специально для вас кидаю сюда jquery-1.8.2 минимизированный.
Спасибо. Правда я его уже скачал ранее. С главной страницы сайта jquery.com
0
 Аватар для fa2m
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
14.11.2012, 02:42
Цитата Сообщение от stashappy Посмотреть сообщение
Почему бы и нет. Главное чтобы принцип работы был понятен. Регистрацию на сайте я сделал. Все проверки стоят, но неудобно, когда страница перезагружается. Пользователя это раздражает. А что имелось ввиду под js фреймворком? Это скорее всего jquery?
Кстати, не надейтесь особо на валидацию данных с помощью JS, ведь его любой пользователь может просто отключить и будет "Привет MySQL-инъекция"
1
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
14.11.2012, 12:23  [ТС]
Цитата Сообщение от fa2m Посмотреть сообщение
его любой пользователь может просто отключить
На этот случай, поставил перенаправление на страницу с предупреждением.
0
 Аватар для fa2m
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
14.11.2012, 13:06
Цитата Сообщение от stashappy Посмотреть сообщение
На этот случай, поставил перенаправление на страницу с предупреждением.
Можно и так. Но дополнительно не помешает делать валидацию ещё и на php
1
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
14.11.2012, 14:19
Цитата Сообщение от fa2m Посмотреть сообщение
Можно и так. Но дополнительно не помешает делать валидацию ещё и на php
не дополнительно а обязательно

Добавлено через 2 минуты
Цитата Сообщение от stashappy Посмотреть сообщение
На этот случай, поставил перенаправление на страницу с предупреждением.
а каким образом сделано перенаправление?
0
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
14.11.2012, 14:34  [ТС]
а каким образом сделано перенаправление?
Код:

PHP
1
echo "<noscript><meta http-equiv='refresh' content='0; URL=/bad.php'></noscript>";
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
14.11.2012, 14:39
эта переадресация сработает если при загрузке станицы выключен js, но ведь можно сначала загрузить а потом отключить
0
 Аватар для stashappy
42 / 42 / 13
Регистрация: 21.08.2011
Сообщений: 625
14.11.2012, 14:56  [ТС]
но ведь можно сначала загрузить а потом отключить
Хм. Верно. А я ведь и не подумал. Чтож. Буду решать эту проблему. А с $.ajax я разобрался. Но вопрос, ради которого я создал эту тему, все так же висит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2012, 14:56
Помогаю со студенческими работами здесь

Отправка формы на почту без заполнения полей
Доброго времени суток! У меня такая ситуация. Есть форма отправки данных на почту. Но почему-то она отправляет письмо при каждом...

Отправка формы без перезагрузки страницы (AJAX)
Все работает нормально, но почему то дублируются поля ввода ИМЯ и СООБЩЕНИЕ после нажатия на кнопку отправить &lt;!DOCTYPE html PUBLIC...

Отправка формы без перезагрузки страницы Ajax
Здравствуйте! Никак не могу отправить. В чем ошибка, если есть? Файлы index.html и jquery.js находятся в папке ajax на рабочем столе....

AJAX: Отправка параметров из формы. [?Как это сделать?]
Здравствуйте! Есть таблица отображающая список с БД. Есть кнопка в каждом ряду таблицы для удаления определенного ряда (php файл...

Ajax отправка данных из формы в базу mysql и вывод из базы mysql
$(function() { $('#chat_submit').click(function(e) { e.preventDefault(); var chat_name =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru