1 / 1 / 1
Регистрация: 25.10.2016
Сообщений: 83

Не работают методы .hide(); и .show();

18.01.2017, 18:10. Показов 2659. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Почему данные методы не отрабатывают на формах?
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-6 highheader2">                
                <form action='#' method="post"  id="regBox">                       
                    <select name="reg" id="regBoxHidden">
                        {foreach $rsReg as $item}
                            <option value="{$item.route}">{$item.name}</option>
                        {/foreach}
                    </select>                        
                </form>   
                <form action='#' method="post" id="userBox" class="hideme">                       
                    <select name="auth"  >
                        <option value="#"></option>
                        {foreach $rsAuth as $item}
                            <option value="{$item.route}" onclick="{$item.action}">{$item.name}</option>
                        {/foreach}
                    </select>                        
                </form>
            </div>
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
function getData(obj_form){
    var hData = {};
    $('input, textarea, select', obj_form).each(function(){
        if(this.name && this.name!==''){
            hData[this.name] = this.value;
            console.log('hData[' +this.name + '] = ' + hData[this.name]);
        }
    });
    return hData;
    
};
 
/**
 * Регистрация нового пользователя
 * 
 */
function registerNewUser(){
    var postData = getData('#registerBox');
    
    $.ajax({
        type: 'POST',
        async: false,
        url: "/user/register/",
        data: postData,
        dataType: 'json',
        success: function(data){
            
            if(data['success']){
                alert(data['message']);
                
                $('#regBox').hide();                
                $('#userBox').show();
                          
            } else {
                alert(data['message']);
            }
        }
    });   
}
 
function logout() {
    console.log('Logout');
    $.ajax({ 
        type: 'POST',
        async: false,
        url: '/user/logout/',
        //dataType: 'json',
        success: function() {
            console.log('user logged out');
            $('#regBox').show(); 
            $('#userBox').hide();
        } 
    }); 
}
Получается до регистрации или регистрации должна быть видна одна форма, соответственно после должна быть видна вторая с личным кабинетом и выходом из аккаунта но этого не происходит. Подскажите почему?

P.S.

Сама функция регистрации работает отлично. Это говорит о том что
JavaScript
1
function registerNewUser()
точно доходит до
JavaScript
1
2
if(data['success']){
                alert(data['message']);
так как высвечивается сообщение о том что регистрация прошла успешно, а вот дальше...

Добавлено через 37 минут
Может ли это быть связано с тем что после успешной регистрации перекидывает на главную страницу?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2017, 18:10
Ответы с готовыми решениями:

.show & .hide
Здравствуйте! Есть 2 div'a. Один, допустим &quot;attack&quot; открыт, а другой - &quot;guard&quot; скрыт стилем &quot;display: none&quot;. Нужно,...

Функция .show hide
Всем привет. Сразу скажу, что в jquery и javascript я не разбираюсь. Дана вот такая кнопка &lt;input type=&quot;button&quot;...

Hide-show с data атрибутами
Здравствуйте,скажите как сделать обычный slideToggle по клику например на аттрибут data-id=&quot;0&quot; ,в одном диве, появлялся блок с...

7
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
18.01.2017, 18:27
Tverdislav, Конечно это из-за того, что страница перегружается.

Добавлено через 9 минут
Tverdislav,
Я не вижу, где у вас вызывается функция registerNewUser();
Функция getData лишний велосипед есть готовый метод serialize();
$('#registerBox') это у вас что?
0
1 / 1 / 1
Регистрация: 25.10.2016
Сообщений: 83
18.01.2017, 18:28  [ТС]
sad67man, А как тогда можно реализовать скрытие одной формы и появление другой?
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
18.01.2017, 18:30
Tverdislav, Либо делать без перезагрузки страницы, либо переложить эту логику на сервер. Пользователь авторизован - показывать одну форму, иначе другую.

Добавлено через 45 секунд
Tverdislav, Точнее, в любом случае эта логика на сервере должна быть.
0
1 / 1 / 1
Регистрация: 25.10.2016
Сообщений: 83
18.01.2017, 18:30  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
$('#registerBox') это у вас что?
это форма регистрации с полями
Цитата Сообщение от sad67man Посмотреть сообщение
Я не вижу, где у вас вызывается функция registerNewUser();
она вызывается по onclick при нажатии на кнопке зарегистрироваться
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
18.01.2017, 18:34
Tverdislav, Смотрите. После авторизации я буду ходить по сайту. И по идее мне сразу должна выводиться нужная форма без всяких скриптов. Это делается на стороне сервера. Затем, если нужно будет сделать авторизацию без перезагрузки страницы, используя ajax, то лучше этот кусок с формой просто обновлять. Таким образом в форме с личным кабинетом может быть выводиться к примеру имя пользователя.
0
1 / 1 / 1
Регистрация: 25.10.2016
Сообщений: 83
18.01.2017, 18:37  [ТС]
sad67man, т.е. эти методы можно удалить из js?

Добавлено через 2 минуты
sad67man, кстати я убрал из формы регистрации экшн на главную страницу, т.е. при успешной регистрации я остаюсь на этой же странице, но они всеравно не отрабатывают.
0
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
18.01.2017, 18:46
Tverdislav, Это потому, что у вас страница все равно перегружается, так как кроме аякс запроса форма отправляется и обычным способом, по умолчанию action - это текущая страница, это в случае, если action не указан.
Попробуйте сделать так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$('#registerBox').submit(function(e){
       
    var postData = $(this).serialize();
    $.ajax({
        type: 'POST',
        url: "/user/register/",
        data: postData,
        dataType: 'json',
        success: function(data){
            
            if(data['success']){
                alert(data['message']);
                
                $('#regBox').hide();                
                $('#userBox').show();
                          
            } else {
                alert(data['message']);
            }
        }
    });   
    return false;
})
Добавлено через 2 минуты
Tverdislav, async: false, крайне не рекомендуется делать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2017, 18:46
Помогаю со студенческими работами здесь

show/hide в зависимости от условия
Последний раз у меня была проблема с выводом чекбоксов в дереве, но я разобралась с помощью in_array. Сейчас вот думаю, как сделать так,...

Show/hide при клике
Начинаю веикать в jquery. Вот какая проблемма: нужно при клике на елемент показать контейнер и добавить к нему класс active. При втором...

Простая задача class hide и id show
как решить подобную задачу? $(blocks).hide(); должен выключать блоки с классом &quot;blocks&quot; после этого $(elem).show(); должен...

Несколько галерей используя Hide/Show
Ребят задача такова: Есть галерея на странице, работает через js по принципу уменьшению масштаба и видимости, требуется создать сверху над...

hide и show в Opere
Помогите пожалуйста, я уже голову сломала. У меня iframe, с ссылкой работающего радио, который мне нужно скрыть и при необходимости...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru