Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 20.12.2013
Сообщений: 70

Замена использования iFrame на Ajax при регистрации.

05.04.2014, 15:01. Показов 1554. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
На странице входа для проверки правильности введенного логина и пароля используется iFrame. Так как эта технология быстро устаревает, стало необходимо отправить форму через Ajax. Как это можно реализовать?
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2014, 15:01
Ответы с готовыми решениями:

phpBB Замена текста правил при регистрации
Как заменить текст правил при регистрации. На форуме поддержки сказали менять опеределённый шаблон. Шаблоны я нашёл, а этого среди них...

Не срабатывают события из iframe при перетаскивании в этот iframe в Opera
Есть два фрейма. В первый вкладывается второй. При зажатии кнопки мыши на первом, если передвинуть курсор к второму, то события второго не...

Технология Ajax и Iframe
Помогите, пожалуйтса, в сложившиеся ситуации: Я делаю небольшой сайт, где пользователю предлогается ответить на 10 вопросов. После...

9
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.04.2014, 15:18
Doomkid98, если вы пишите в раздел "jQuery", то подразумеваю, что использовать собираетесь именно эту библиотеку. Покажу вам упрощенный вариант, а остальные параметры - указывайте по усмотрению, после того, как ознакомитесь с описанием метода $.ajax() (для ускорения - мануал на русском).
HTML5
1
2
3
4
5
6
7
8
9
<form action="/path/to/handler.php" method="POST" id="myform">
    <input type="text" name="field">
    <input type="checkbox" name="check">
    <select name="sel">
        <option value="0">A</option>
        <option value="1">B</option>
    </select>
    <input type="submit" value="GO">
</form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
$('#myform').on('submit', function(e){
    e.preventDefault();
    var $that = $(this);
    $.ajax({
        url: $that.attr('action'), // путь к обработчику - подставится /path/to/handler.php
        type: $that.attr('method'), // метод передачи данных (GET/POST) - подставится POST
        data: $that.serialize(), // сериализованные данные формы для отправки на сервер
        success: function(data){ // обработка ответа в случае удачного завершения запроса
            console.log(data);
        }        
    });
});
В данном примере, я использовал "подхват" некоторых параметров, которые прописаны в форме, но можно это же прописывать и вручную.
1
1 / 1 / 0
Регистрация: 20.12.2013
Сообщений: 70
05.04.2014, 15:42  [ТС]
Lazy_Den, нужно вывести ответ не в консоль, а в блок DIV. Как это сделать? (В JS я не силен).
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.04.2014, 15:44
Цитата Сообщение от Doomkid98 Посмотреть сообщение
нужно вывести ответ не в консоль, а в блок DIV.
JavaScript
1
2
3
4
5
// ...
success: function(data){ // обработка ответа в случае удачного завершения запроса
    $('#block').html(data); // вместо #block указать правильный селектор блока
}
// ...
1
1 / 1 / 0
Регистрация: 20.12.2013
Сообщений: 70
05.04.2014, 16:14  [ТС]
Lazy_Den, теперь страница просто перенаправляется на указанную в action='...'
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.04.2014, 16:35
Цитата Сообщение от Doomkid98 Посмотреть сообщение
теперь страница просто перенаправляется на указанную в action='...'
Я надеюсь, что вы изменили только соответствующую часть кода success? В общем полностью должно быть как-то так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
$('#myform').on('submit', function(e){
    e.preventDefault();
    var $that = $(this);
    $.ajax({
        url: $that.attr('action'), // путь к обработчику - подставится /path/to/handler.php
        type: $that.attr('method'), // метод передачи данных (GET/POST) - подставится POST
        data: $that.serialize(), // сериализованные данные формы для отправки на сервер
        success: function(data){ // обработка ответа в случае удачного завершения запроса
            $('#block').html(data); // вместо #block указать правильный селектор блока
        }      
    });
});
0
1 / 1 / 0
Регистрация: 20.12.2013
Сообщений: 70
05.04.2014, 16:45  [ТС]
Lazy_Den, да, все изменил, но страница все равно перезагружается.

Добавлено через 3 минуты
Lazy_Den, Вот так страница не перезагружается, но данные почему-то не отсылаются на сервер:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function SendForm() {
var login=$('text[name=login]').val();
var password=$('password[name=password]').val();
 
   $.ajax({
      type: "post",
      url: "testreg.html", // здесь адрес php страницы
    
       data:({login:login,password:password,send:"1"}),
      success: function(result)
        {
         $('#blbl').html(result);
        }
});  
 }
При этом код формы такой:

HTML5
1
2
3
4
5
6
<form action="testreg.html" method="post" id="regForm">
            <input name="login" type="text"></input><br/>
            <input name="password" type="password"></input><br/>
            </form>
            <div id="blbl"></div>
            <input type="button" onclick="SendForm();" id="lgbutton" value="Вход" />
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.04.2014, 16:58
JavaScript
1
onclick="SendForm(); return false;"
P.S. Я не сторонник того, чтоб смешивать HTML с JS, CSS и т.д., а предпочитаю и считаю это правильным, чтоб тот же JS находился в отдельном файле, чего и вам желаю.
0
1 / 1 / 0
Регистрация: 20.12.2013
Сообщений: 70
05.04.2014, 17:06  [ТС]
Lazy_Den, спасибо. Я додумался. Вот код:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
function SendForm() {
                $.ajax({
                    type: "post",
                    url: "testreg.html",
                    data: $('#regForm').serialize(),
                    success: function(result)
                    {
                        $('#blbl').html(result);
                    }
                });    
            }
Теперь делаю тоже самое для регистрации. Там есть загрузка изображения и radio. Нужно ли на странице регистрации менять код, указанный мной выше?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
05.04.2014, 17:26
Цитата Сообщение от Doomkid98 Посмотреть сообщение
Там есть загрузка изображения
С этим чуть посложнее будет. Начал уже писать, но вспомнил, что есть плагин jQuery Form Plugin, где всё это уже реализовано. Я сам этим плагином не пользовался, но отзывы о нём слышал не плохие. Думаю, что для вас, как пока еще новичка в этом гиблом деле, плагин должен быть хорошим выходом из положения.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.04.2014, 17:26
Помогаю со студенческими работами здесь

AJAX или IFrame + печать
Оказался перед выбором вот в какой ситуации: Имеется Веб-приложение. К примеру, в результате запроса к БД, у меня есть список фамилий, ну...

Замена плеера с iframe
можно ли заменить iframe на свой плеер?т.е берешь фильм с кодом iframe к себе на сайт-и плеер ихнии появляеться-можно заменить его на свой?

Есть ли замена iframe?
Ситуация проста: есть некий html-код, который должен демонстрироваться пользователю. Но код этот может генерировать на сервере кто угодно,...

Замена стилей в IFRAME
Есть виджет от ВКонтакте. Я хочу подвязать свои стиль.. Реально ли так сделать? Просто весь их код завязан через iframe и при...

Как видят iframe поисковые системы? Могут ли быть последствия от частого использования?
Все привет! Насколько мне известно, поисковые системы учитывают ссылки в iframe, собственно, вопрос в том, что будет, если на сайте...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru