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

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

18.01.2017, 18:10. Показов 2655. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru