Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220

Необходимо использовать метод trim() в поле для ввода пароля

11.11.2016, 15:25. Показов 3617. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Многие пользователи копируют пароль с почты, захватывая пробелы, и вставляют в поле для ввода пароля. Жмут "ок" и не могут зайти, потому что нет метода trim. Вопрос простой: куда вставить строку с trim и как она должна выглядеть?

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
$('#login_basic').submit(function() {
    eс.preventDefault();
 
    $('#cred_error, #cred_unknown, #cred_invalid').hide();
 
   
    if (requiredInputsHaveDataCheck('login_basic', required_inputs) === true) {
        formProcessingStart('login_basic');
 
        runLoginRequest('POST', domain_base, 'login', site_language, 'login_basic');
    }
});
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2016, 15:25
Ответы с готовыми решениями:

Реализовать контроль ошибок ввода данных в поле, предназначенное для ввода пароля
4.Реализовать в JavaScript контроль ошибок ввода данных в поле, предназначенное для ввода пароля.

Поле для ввода пароля
Доброго времени суток. Какое дефолтное значение у свойства PasswordChar в TextBox? Т.е. его моно изменить, но как вернуть обратно?

Как сделать поле для ввода пароля
В Java есть jPasswordField вроде. В С# не нашёл похожего. Какие есть варианты?

30
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
11.11.2016, 15:29
formProcessingStart() и runLoginRequest() функции продемонстрируйте нам пожалуйста.
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 15:52  [ТС]
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
function runLoginRequest(method_type, domain_base, url_path, site_language, form_id)
{
    $.when(
        getApiResponse(method_type, domain_base, url_path, formDataToJson(form_id))
    )
    .done(function(response) {
        var url = window.location.href;
        if (url.indexOf('resign') !== -1) {
          
            $('#create_ad').submit();
        } else if (url.indexOf('logout') !== -1 || url.indexOf('passwordreminder') !== -1) {
            
            window.location.href = buildUrl(domain_base, site_language);
        } else {
            window.location.href = getPathFromUrl(window.location.href, 'modal');
        }
    })
    .fail(function(response) {
        switch (response.status.toString()) {
            case '400': // Bad request (email or password were invalid)
                $('#credentials_error, #credentials_invalid').show();
            break;
 
            case '401': // Unauthorized (email/password combination not in the db)
                $('#cred_error, #cred_unknown').show();
            break;
 
            default:
                handleFailedRequest(response, domain_base, site_language);
            break;
        }
 
        formProcessingEnd(form_id);
    });
}
а эта функция еще глубже уходит

JavaScript
1
2
3
4
5
6
7
function formProcessingStart(form_id)
{
    displayLoadingIcon(form_id)
    disableSumbmitButton(form_id);
    clearFormValidation(form_id);
    hideFormPlaceholderMessages(form_id);
}
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
11.11.2016, 16:06
formDataToJson() функцию продемонстрируйте нам пожалуйста.
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 16:09  [ТС]
Balanaar,
а вы взламывать ничего не собираетесь?
А то одни вопросы по функциям, а комментарий пока не поступало. Я боюсь, что сюда весь сайт вывалю )))
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
11.11.2016, 16:10
Либо вываливайте функции, либо сами ищите, где у вас считывается значение пароля из формы. Мне без разницы.
0
 Аватар для vettel
84 / 84 / 41
Регистрация: 14.02.2015
Сообщений: 320
11.11.2016, 16:15
Цитата Сообщение от And82 Посмотреть сообщение
а вы взламывать ничего не собираетесь?
Боюсь вас огорчить, но весь js-код, который вы имеете на сайте, можно тем или иным образом прочитать. Причем в большинстве случаев это элементарно.

Если же вы не хотите показывать ф-ии, то почитайте документацию по методу trim() и сами решайте, где его юзать.
Кратко:
JavaScript
1
var login = $('селектор инпута логина, или объект').val().trim();
1
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 16:20  [ТС]
Ребят не злитесь, едем дальше )))

JavaScript
1
2
3
4
5
6
7
8
function formDataToJson(form_id) {
    var form_data = $('#' + form_id).serializeArray().reduce(function(obj, item) {
        obj[item.name] = item.value;
        return obj;
    }, {});
 
    return JSON.stringify(form_data);
}
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
11.11.2016, 16:26
Отлично. Последний шаг. Нужна разметка вашей формы.
1
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 16:34  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Нужна разметка вашей формы.
Вы имеете ввиду form_id ?

Добавлено через 6 минут
не, наверно не это вы имеете ввиду. Можно поконкретней?
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
11.11.2016, 16:42
HTML-разметка формы.
HTML5
1
2
3
<form id="XXXXXX">
...
</form>
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 16:44  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
HTML-разметка формы.
секунду, форма логина с двумя полями (логин, пароль)?
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
11.11.2016, 16:45
Видимо да. Не знаю, как у вас там форма устроена.
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 17:30  [ТС]
HTML5
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
v class="position-relative modal-content">
            <div class="modal-header">
                <button type="button" class="" data-dismiss="modal" aria-label="{#close#}">
                    <span aria-hidden="true">&times;</span>
                </button>
 
                <h4 id="login-modal_label" class="modal-title text-info text-uppercase">
                    {#si_login#}
                </h4>
 
                <div id="error_msg_after_reg" class="display-none text-info" style="text-align:center;">
                    {#si_error_msg_after_reg#}
                </div>
            </div>
 
            <div class="modal-body row">
                <div id="cred_error" class="col-md-12 display-none">
                    <div class="alert alert-danger" role="alert">
                        <h4 class="display-inline">
                            <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
                        </h4>
                        <span id="cred_invalid" class="display-none">{#si_invalid_creds#}</span>
                        <span id="cred_unknown" class="display-none">{#si_wrong_cred#}</span>
                    </div>
                </div>
 
                <form id="login_basic" method="" action="#" novalidate>
                    <div class="col-md-12 form-group">
                        <input id="login_email_username" class="input form-control" type="email" name="login_email_username" value="" placeholder="{#si_email_address#}" maxlength="191" tabindex="{counter name='ti'}">
 
                        <div id="login_email_username_failed" class="failed_validation_message"></div>
                    </div>
 
                    <div class="col-md-12 form-group">
                        <div class="input-group">
                            <input id="login_password" class="input form-control" type="password" name="login_password" value="" placeholder="{#si_password#}" maxlength="16" tabindex="{counter name='ti'}">
                            <div class="input-group-addon cursor-pointer" style="padding: 0px 4px;" onclick="showPassword('login_password', 'login_show_pass_button');">
                                <span id="login_show_pass_button" class="glyphicons glyphicons-eye-open" title="{#si_show_password#}"></span>
                            </div>
                        </div>
                        <div id="login_password_failed" class="failed_validation_message"></div>
                    </div>
 
                    <div class="col-md-6">
                        <label class="position-relative" for="auto_login" style="font-weight: normal; bottom: 2px;">
                            <input id="auto_login" type="checkbox" name="login_form_auto_login" value="1" checked tabindex="{counter name='ti'}"> {#si_remember_me#}
                        </label>
                    </div>
 
                    <div class="col-md-6 text-right">
                        <a class="rhs_box_link" href="{$domain_base}{$url.passowrdreminder}" tabindex="{counter name='ti'}">
                            {#si_forgot_pw#}
                        </a>
                    </div>
 
                    <div class="col-md-12" style="margin-top: 10px;">
                        <input class="btn btn-info btn-block" type="submit" value="{$buttontext.login}" tabindex="{counter name='ti'}">
                    </div>
                </form>
 
                <div class="col-md-12">
                    <hr/>
                </div>
 
                <div class="col-md-12">
                    {if !$ges_privacy_ref}
                        <div class="text-center">
                            {#si_not_a_user#}
                            <a id="hide_login_show_register" class="rhs_box_link" href="#" tabindex="{counter name='ti'}">
                                {#si_sign_up#}
                            </a>
                        </div>
                    {else}
                        <a class="btn btn-link" href="{$domain_base}{$url.ad_resign}" tabindex="{counter name='ti'}">
                            {#si_create_off_now#}
                        </a>
                    {/if}
                </div>
            </div>
        </di
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
12.11.2016, 01:04
По идее так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function formDataToJson(form_id) {
    if (form_id == 'login_basic') {
        var passElem = $('#login_password');
        passElem.val(passElem.val().trim());
    }
    var form_data = $('#' + form_id).serializeArray().reduce(function(obj, item) {
        obj[item.name] = item.value;
        return obj;
    }, {});
 
    return JSON.stringify(form_data);
}
1
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
14.11.2016, 11:22  [ТС]
Balanaar,

согласен с тобой. Я бы тоже это туда написал, будь у меня опыт. Хотя я не до конца понимаю твой IF.
Но, к сожалению не работает. ((
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
14.11.2016, 11:24
Что не работает? Что говорит консоль? Точками останова пробовали дебажить?
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
14.11.2016, 11:30  [ТС]
ничего не говорит, как писало "неправильный пароль или имэйл", так и пишет.

Я в Sublime файлы редактирую, использую Perforce. Не уверен, что знаю есть ли тут вообще точки останова.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
14.11.2016, 11:32
Они есть в любом браузере в консоли разработчика... Советую вам познакомиться с ней (консолью), если вы до сих пор этого не сделали.
1
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
14.11.2016, 12:11  [ТС]
Занимаюсь, спасибо. Как разберусь, отпишусь.

В VisualStudio точки останова делал, а в хроме нет. ))

Добавлено через 26 минут
хм, забавная штука, undefined, мы же вроде озвучили переменную passElem... что не нравится?

function formDataToJson(form_id) { <-------- form_id = "login_basic"
...
...
var passElem = $('#login_password'); <---------- passElem = undefined

В 'Local' еще form_data: undefined. Но такое чувство, что ни при чём это.

Добавлено через 8 минут
В 'Local' всё нормально, не там точку поставил, вот и undefined показывало.

return JSON.stringify(form_data); <--------- form_data = Object {login_email_username: "voidpv@******.***", login_password: " 123456 ", login_form_auto_login: "1"}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2016, 12:11
Помогаю со студенческими работами здесь

Как сделать стандартное поле для ввода пароля ?
Здравствуйте! подкиньте пожалуйста парочку идей, как можно сделать стандартное поле для ввода пароля(* вместо введенного символа). Только...

Как создать поле для ввода конкретного пароля HTML
Здравствуйте!Делаю веб-квест для детей, помогите, пожалуйста, сделать поле для ввода пароля (это будет ответ на задание), после ввода...

Поле ввода пароля
Помогите пожалуйста! Я решил изучить язык Python и написал маленький код, что-то вроде &quot;Входа&quot; в систему, хотел спросить, что мне...

Как использовать Trim для содержимого TextBox.Text?
Здраствуйте ! Немогу розобраца, как использывать Trimк TextBox.Text, когда пишу так TextBox.Text.Trim появляеца ошыбка: &quot;Cannot...

Создать поле ввода пароля HTML
Создать поле ввода пароля HTML. Пароль должен состоять из не менее 9 символов, что бы была A,a и спец символ.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru