12.05.2012 18:21:33
Год в анкете в виде выпадающего списка
В Люди->Регистрация->HTML-Код анкеты добавляем следующий скрипт:
Вариант 1 - поле 'год' обязательное
Если нужно ограничить возраст реги, меняем var minAge = 0 на другое число, например var minAge = 18
Вариант 1 - поле 'год' обязательное
<script type="text/javascript">
(function(){
var inputName = 'uf[Year]';
var minAge = 0; // минимальный возраст
var maxAge = 100; // максимальный возраст
var input = document.getElementsByName(inputName);
if(input.length && input[0].tagName == 'INPUT'){
var today = new Date;
var year = today.getFullYear();
var minYear = year-maxAge;
var maxYear = year-minAge;
var setYear = input[0].value;
var select = document.createElement('SELECT');
for(var i = minYear; i <= maxYear; i++){
var option=document.createElement('OPTION');
option.text = i;
option.value = i;
if(i == setYear) option.selected = true;
try {
select.add(option,select.options[null]);
} catch (e) {
select.add(option,null);
}
}
select.name = inputName;
select.className = 'inp';
input[0].parentNode.replaceChild(select, input[0]);
}
})();
</script>
Добавлять лучше всего в конец шаблона, после вывода всех полей, иначе скрипт может и не сработать.(function(){
var inputName = 'uf[Year]';
var minAge = 0; // минимальный возраст
var maxAge = 100; // максимальный возраст
var input = document.getElementsByName(inputName);
if(input.length && input[0].tagName == 'INPUT'){
var today = new Date;
var year = today.getFullYear();
var minYear = year-maxAge;
var maxYear = year-minAge;
var setYear = input[0].value;
var select = document.createElement('SELECT');
for(var i = minYear; i <= maxYear; i++){
var option=document.createElement('OPTION');
option.text = i;
option.value = i;
if(i == setYear) option.selected = true;
try {
select.add(option,select.options[null]);
} catch (e) {
select.add(option,null);
}
}
select.name = inputName;
select.className = 'inp';
input[0].parentNode.replaceChild(select, input[0]);
}
})();
</script>
Если нужно ограничить возраст реги, меняем var minAge = 0 на другое число, например var minAge = 18