Регистрация пользователей: регистр полей "как в предложении"
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Регистрация пользователей: регистр полей "как в предложении"
Меня очень напрягает, когда пользователи вводят ники, имена, и прочие поля как хотят, не придерживаясь регистра.
Хочется чтобы ряд важных для меня полей принудительно устанавливался в регистр "как в предложении".
Только скриптовым экстом оформлять? или может надоумите более оптимальным решением?
Хочется чтобы ряд важных для меня полей принудительно устанавливался в регистр "как в предложении".
Только скриптовым экстом оформлять? или может надоумите более оптимальным решением?
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Регистрация пользователей: регистр полей "как в предложе
набросал вариант
может кто опытный проверить на ошибки?
две идентичные фунции.
первая отрабатывает ввод с клавиатуры, вторая - вставку из клипборда, чтобы отловить особо ушлых товарищей.
обе работают.
вопрос - как объединить их в одну? через вызов функции не получится, так как используется this
Добавлено спустя 7 минут 44 секунды:
Re: Регистрация пользователей: регистр полей "как в предложении"
сам спросил, сам ответил
вроде вот так заработало
сразу спрошу: какие условие использовать, чтобы скрипт отрабатывал только на странице регистрации и на странице профиля?
Код: Выделить всё
$('input[type="text"]').keyup(function() {
if ($.inArray(jQuery(this).attr('name'), ['username', 'pf_phpbb_location', 'pf_original_name']) >= 0) {
var txt = $(this).val().toLowerCase();
$(this).val(txt.replace(/^(.)|\s(.)|-(.)/g, function($1) {return $1.toUpperCase();}));
}
});
$('input[type="text"]').bind('input paste', function(e) {
if ($.inArray($(this).attr('name'), ['username', 'location', 'pf_original_name']) >= 0) {
var txt = $(this).val().toLowerCase();
$(this).val(txt.replace(/^(.)|\s(.)|-(.)/g, function($1) {return $1.toUpperCase();}));
}
});
две идентичные фунции.
первая отрабатывает ввод с клавиатуры, вторая - вставку из клипборда, чтобы отловить особо ушлых товарищей.
обе работают.
вопрос - как объединить их в одну? через вызов функции не получится, так как используется this
Добавлено спустя 7 минут 44 секунды:
Re: Регистрация пользователей: регистр полей "как в предложении"
сам спросил, сам ответил
вроде вот так заработало
Код: Выделить всё
$('input[type="text"]').bind('input paste keyup', function(e) {
if ($.inArray(jQuery(this).attr('name'), ['username', 'pf_phpbb_location', 'pf_original_name']) >= 0) {
var txt = $(this).val().toLowerCase();
$(this).val(txt.replace(/^(.)|\s(.)|-(.)/g, function($1) {return $1.toUpperCase();}));
}
});
-
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 12 лет 11 месяцев
- Благодарил (а): 97 раз
- Поблагодарили: 91 раз
- Забанен: Бессрочно
Re: Регистрация пользователей: регистр полей "как в предложе
Главная ошибка- валидация на стороне клиента.Alecto писал(а):может кто опытный проверить на ошибки?
Данные нужно валидировать на стороне сервера.
phpBBex
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Регистрация пользователей: регистр полей "как в предложе
экст на php для этого не напишу - не знаю на столько PHP.xisp писал(а):Данные нужно валидировать на стороне сервера.
jquery вполне устраивает, 1 - насколько правильно, может какие ошибки в скрипте бросаются в глаза?
2 - подскажите переменные для условия срабатывания срикпта ТОЛЬКО в форме регистрации и ТОЛЬКО в профиле пользователя в его личном кабинете.
-
- Former team member
- Сообщения: 933
- Стаж: 12 лет 8 месяцев
- Откуда: Израиль
- Благодарил (а): 72 раза
- Поблагодарили: 248 раз
Re: Регистрация пользователей: регистр полей "как в предложе
это не валидация данных, а всего лишь причесывание перед отправкой на сервер. В данном случае делать на стороне клиента - это нормальноxisp писал(а):Данные нужно валидировать на стороне сервера.
1. С первого взгляда ничего вроде в глаза не бросается. И к тому же работает.
2 - это попозже
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...
Т. Шаов
А ты проявляй интеллигентность, постарайся убеждать...
Т. Шаов
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Регистрация пользователей: регистр полей "как в предложе
совершенно верно, только не совсем перед отправкой, скорее в процессе ввода данных.Алг писал(а):причесывание перед отправкой на сервер
очень не нравятся любители заполнять поля таким образом как
иМЯ,имя,ИМЯ
город,ГОРОД,гОРОД
итд.
спасибо, буду ждатьАлг писал(а):2 - это попозже
-
- Former team member
- Сообщения: 1965
- Стаж: 15 лет 1 месяц
- Благодарил (а): 57 раз
- Поблагодарили: 622 раза
Re: Регистрация пользователей: регистр полей "как в предложе
$('input[type="text"]')
будет применён ко всем текстовым полям, к которым может быть и не требуется.Код: Выделить всё
<!-- IF SCRIPT_NAME == 'ucp' -->
<!-- ENDIF -->
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Регистрация пользователей: регистр полей "как в предложе
затем вот тут происходит сужение до конкретных полейAlecto писал(а): if ($.inArray(jQuery(this).attr('name'), ['username', 'pf_phpbb_location', 'pf_original_name']) >= 0) {
слишком большой диапазон, это и форма логина и личный кабинет целиком.Anvar писал(а):<!-- IF SCRIPT_NAME == 'ucp' -->
Добавлено спустя 6 минут 55 секунд:
Re: Регистрация пользователей: регистр полей "как в предложении"
Код: Выделить всё
$('#username, #pf_phpbb_location, #pf_original_name').bind('input paste keyup', function(e) {
var txt = $(this).val().toLowerCase();
$(this).val(txt.replace(/^(.)|\s(.)|-(.)/g, function($1) {return $1.toUpperCase();}));
});
может быть этот вариант лучше? сразу выборка по айди нужных элементов... вроде.
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Регистрация пользователей: регистр полей "как в предложе
можно ли привязать условие к языковым переменным?
как-то так?
L_ITEMS_REQUIRED
встречается только в шаблоне ucp_register.html
L_PROFILE_INFO_NOTICE
- только в ucp_profile_profile_info.html
Код: Выделить всё
<!-- IF SCRIPT_NAME == 'ucp' and L_ITEMS_REQUIRED -->
-
- Former team member
- Сообщения: 933
- Стаж: 12 лет 8 месяцев
- Откуда: Израиль
- Благодарил (а): 72 раза
- Поблагодарили: 248 раз
Re: Регистрация пользователей: регистр полей "как в предложе
вариант нормальный, можно такой оставить, одно замечание: почему для привязки события ты используешь устаревший метод bind вместо оn?Alecto писал(а):('#username, #pf_phpbb_location, #pf_original_name').bind('input paste keyup', function(e) {
var txt = $(this).val().toLowerCase();
$(this).val(txt.replace(/^(.)|\s(.)|-(.)/g, function($1) {return $1.toUpperCase();}));
});
вот так кстати тоже работает.
может быть этот вариант лучше? сразу выборка по айди нужных элементов... вроде.
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...
Т. Шаов
А ты проявляй интеллигентность, постарайся убеждать...
Т. Шаов
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Регистрация пользователей: регистр полей "как в предложе
такой был в примере.
спасибо за замечание, заменил на ОН - работает.
теперь с условиями разобраться бы - и можно на основе включать.
спасибо за замечание, заменил на ОН - работает.
теперь с условиями разобраться бы - и можно на основе включать.
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Регистрация пользователей: регистр полей "как в предложе
попробовал с языковыми - не получилось, либо я их не правильно вставлял в условие.
решил сначала отсечь выполнение скрипта проверкой на UCP, а затем еще проверкой url на характерные подстроки для:
- страницы регистрации (ложное срабатывание при просмотре правил, но это не мешает)
- профиль как раздел
- профиль как подраздел
вот что получилось, код работает.
или можно более оптимальные условия подобрать?
решил сначала отсечь выполнение скрипта проверкой на UCP, а затем еще проверкой url на характерные подстроки для:
- страницы регистрации (ложное срабатывание при просмотре правил, но это не мешает)
- профиль как раздел
- профиль как подраздел
вот что получилось, код работает.
Код: Выделить всё
<!-- IF SCRIPT_NAME == "ucp" -->
if(window.location.href.indexOf('mode=register') > -1 || window.location.href.indexOf('i=164') > -1 || window.location.href.indexOf('mode=profile_info') > -1) {
$('#username, #pf_phpbb_location, #pf_original_name').on('input paste keyup', function(e) {
var txt = $(this).val().toLowerCase();
$(this).val(txt.replace(/^(.)|\s(.)|-(.)/g, function($1) {return $1.toUpperCase();}));
});
}
<!-- ENDIF -->
-
- phpBB 3.0.12
- Сообщения: 2857
- Стаж: 15 лет 4 месяца
- Откуда: Украина! Харьков
- Благодарил (а): 68 раз
- Поблагодарили: 240 раз
Re: Регистрация пользователей: регистр полей "как в предложе
на тесте сделал привязку из адреса к акйди раздела ПРОФИЛЬ в личном кабинете
перенес на основу, а там профиль
база конвертировалась одна и та же, но с разницей в 3 месяца, поидее 3012 я не модифицировал и блоки личных разделов не должны были изменять свои айди.
скажите, отчего зависят ID разделов в личном кабинете?
насколько надежным будет использование ID в моем частном случае в рамках одного сайта? не "съедут" ли айдишники при обновлении?
i=164
перенес на основу, а там профиль
i=873
база конвертировалась одна и та же, но с разницей в 3 месяца, поидее 3012 я не модифицировал и блоки личных разделов не должны были изменять свои айди.
скажите, отчего зависят ID разделов в личном кабинете?
насколько надежным будет использование ID в моем частном случае в рамках одного сайта? не "съедут" ли айдишники при обновлении?