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

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

18.01.2017, 18:10. Показов 2638. Ответов 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 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru