Главная » Файлы » Скрипты для uCoz » Пользователи

Умная форма регистрации Локальных пользователей 2.0 by Apocalypse для uCoz
24.06.14, 10:18:54





Решил переписать форму 1.0, так как в ней присутствовали баги, неудобства и недочёты

Изменения в версии 2.0:

  • Проверка каждого поля производится налету при вводе данных
  • Полностью переписан механизм проверки на доступность логина
  • Мгновенная смена индикатора проверки
  • Теперь данные формы не обнуляются при неправильном вводе капчи
  • Установка упрощена до одного действия - полной замены формы регистрации
  • Подключен примитивный антиспам от пользователей с одноразовыми е-майлами
  • Код работает на всех версиях jQuery более 1.3.2 (Включительно)


Установка:

Пользователи -- Форма регистрации пользователей -- Замените всё на:
Код
<table border="0" cellspacing="1" cellpadding="2" width="100%" class="manTable" id="siM63">

<?if($ERROR$)?>
<tr id="siM1"><td colspan="2" align="center" class="manTdError" id="siM2">$ERROR$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><br></td></tr>
<?endif?>

<?if($LOGIN_FL$)?>
<tr id="siM42">
<td class="manTd1" width="35%" id="siM43">$LOGIN_SIGN$</td><td class="manTd2" id="siM44">$LOGIN_FL$</td>
<td width="70px">
<img style="vertical-align:-4px;" src="http://s58.ucoz.net/.s/img/icon/se.png" onclick="chek();" title="Проверить доступность Логина" />
<img src="http://s58.ucoz.net/.s/img/wd/3/ajaxs.gif" style="vertical-align:-5px;display:none;" id="aldr" />
<img src="http://s58.ucoz.net/.s/img/icon/ok.png" title="Логин свободен!" style="vertical-align:-5px;display:none;cursor:help;" id="aok" />
<img src="http://s58.ucoz.net/.s/img/icon/er.png" title="Логин занят или содержит запрещённые символы" style="vertical-align:-5px;display:none;cursor:help;" id="aer" />
</td>
</tr>
<tr><td height="10" class="manTdSep" colspan="2">
</td></tr><br>
<?endif?>

<?if($PASSWORD_FL$)?>
<tr id="siM45"><td class="manTd1" id="siM46">$PASSWORD_SIGN$</td><td class="manTd2" id="siM47">$PASSWORD_FL$</td>
<td width="70px">
<img src="http://s58.ucoz.net/.s/img/icon/ok.png" title="Длинна пароля допустима" style="vertical-align:-5px;display:none;cursor:help;" id="aokp" />
<img src="http://s58.ucoz.net/.s/img/icon/er.png" title="Пароль слишком короткий" style="vertical-align:-5px;display:none;cursor:help;" id="aerp" />
</td>
</tr>
<?endif?>

<?if($PASSWORD1_FL$)?>
<tr id="siM48"><td class="manTd1" id="siM49">$PASSWORD1_SIGN$</td><td class="manTd2" id="siM50">$PASSWORD1_FL$</td>
<td width="70px">
<img src="http://s58.ucoz.net/.s/img/icon/ok.png" title="Пароли совпали" style="vertical-align:-5px;display:none;cursor:help;" id="aokp2" />
<img src="http://s58.ucoz.net/.s/img/icon/er.png" title="Пароли не совпадают" style="vertical-align:-5px;display:none;cursor:help;" id="aerp2" />
</td>
</tr><tr><td height="10" class="manTdSep" colspan="2"></td>
</tr><br>
<?else?><tr><td height="10" class="manTdSep" colspan="2"><hr class="manHr" /></td></tr>
<?endif?>

<?if($NAME_FL$)?>
<tr id="siM51"><td class="manTd1" id="siM52">$NAME_SIGN$</td><td class="manTd2" id="siM53">$NAME_FL$</td>
<td width="70px">
<img src="http://s58.ucoz.net/.s/img/icon/ok.png" title="Ладно, верим, что это ваше настоящее имя" style="vertical-align:-5px;display:none;cursor:help;" id="aokp3" />
<img src="http://s58.ucoz.net/.s/img/icon/er.png" title="Пожалуйста, введите своё имя" style="vertical-align:-5px;display:none;cursor:help;" id="aerp3" />
</td>
</tr><tr><td height="10" class="manTdSep" colspan="2"></td></tr>
<?endif?>

<?if($EMAIL_FL$)?>
<tr id="siM54"><td class="manTd1" id="siM55">$EMAIL_SIGN$</td><td class="manTd2" id="siM56">$EMAIL_FL$</td>
<td width="70px">
<img src="http://s58.ucoz.net/.s/img/icon/ok.png" title="Спасибо, вроде всё путём" style="vertical-align:-5px;display:none;cursor:help;" id="aokp4" />
<img src="http://s58.ucoz.net/.s/img/icon/er.png" title="Что то не похоже это на адрес электронки" style="vertical-align:-5px;display:none;cursor:help;" id="aerp4" />
</td>
</tr><tr><td height="10" class="manTdSep" colspan="2"><br></td></tr>
<?endif?>

<?if($GENDER_FL$)?>
<tr id="siM27"><td class="manTd1" id="siM28">$GENDER_SIGN$</td><td class="manTd2" id="siM29">$GENDER_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><br></td></tr>
<?endif?>
<tr id="siM27"><td class="manTd1" id="siM28">$SECURITY_CODE_SIGN$</td><td class="manTd2" id="siM29">$SECURITY_CODE_FL$</td></tr><tr><td height="10" class="manTdSep" colspan="2"><br></td></tr>
<tr id="siM64"><td class="manTdBut" colspan="2" align="center" id="siM65"><input class="manFlSbm" id="siF20" type="submit" name="sbm" value="$SUBMIT_SIGN$" /></td></tr>
</table>

<script>
// Умная форма регистрации 2.0 by Apocalypse
function efl() {
_uWnd.alert('Поле не должно быть пустым', 'Внимание!', {align:'left', w:300, h:80, name:'ef', icon:'http://s6.ucoz.net/.s/img/icon/nw.png'});
}

function eml() {
_uWnd.alert('Проверьте правильность заполнения поля! На этот электронный адрес будет выслан код подтверждения', 'Внимание!', {align:'left', w:300, h:80, name:'ef', icon:'http://s6.ucoz.net/.s/img/icon/nw.png'});
}

function chek() {
$('#aok, #aer').hide();
var a = $('#siF13').val().replace('-', '~');
$('#aldr').show();
$.get('/index/8-0-'+a, function(apodata) {
$('#aldr').hide();
if($('#siF13').val() == '') {
efl();
$('#aer').show();
} else if(apodata.indexOf('не найден') != -1) {
$('#aok').show();
} else {
$('#aer').show();
};
});
};

$('#siF13').keyup(function() {
chek();
});

$('.manFlPassw').keyup(function() {
$('#aokp, #aerp').hide();
var sss = $(this).val().length;
if(sss < 1) {
efl();
$('#aerp').show();
} else if (sss < 6) {
$('#aerp').show();
} else {
$('#aokp').show();
}
});

$('.manFlPassw1').keyup(function() {
$('#aokp2, #aerp2').hide();
var sl1 = $(this).val();
if(sl1 != $('.manFlPassw').val()) {
$('#aerp2').show();
} else if (sl1 == '') {
efl();
$('#aerp2').show();
} else {
$('#aokp2').show();
}
});

$('.manFlaName').keyup(function() {
$('#aokp3, #aerp3').hide();
var t1 = $(this).val();
if(t1 == '') {
$('#aerp3').show();
efl();
} else {
$('#aokp3').show();
}
});

$('.manFlaEmail').keyup(function() {
$('#aokp4, #aerp4').hide();
$('#g2g').html($(this).val());
var em3 = $(this).val();
if(em3.indexOf('@') != -1 && em3.indexOf('.') != -1) {
eml();
$('#aokp4').show();  
} else if(em3 == '') {
efl();
$('#aerp4').show();
} else {  
$('#aerp4').show();
}  
});  

$('#siF13').attr('placeholder', 'Только русские, латинские буквы и цифры');
$('#siF14').attr('placeholder', 'Чем сложнее, тем лучше');
$('#siF15').attr('placeholder', 'Повторим наш суперсложный пароль');
$('#siF16').attr('placeholder', 'Было бы здорово знать ваше настоящее имя');
$('#siF17').attr('placeholder', 'Укажите ваш реальный е-майл');
$('#fCode').attr('placeholder', 'Он справа');

$('.manFlaEmail').focus(function() {
$('#secImg').click();
}).keydown(function(a) {
if(a.keyCode == 13) {
return false;
};
});
apoarr = ['rtrtr', 'mailspeed']
antiapo = setInterval(function() {
for(i=0;i<10;i++) {
if($('.manFlaEmail').val().indexOf(apoarr[i]) != -1) {
clearInterval(antiapo);
new _uWnd('id', 'Внимание', 200, 70, {autosize:0}, 'Вы заблокированы системой антиспам');
$('.manFlSbm, input[name="code"], input[name="email"]').remove();
setInterval(function() {
$('#secImg').click();
}, 300);
};
};
}, 300);
// ApoTeam (c) 2012
</script>


Материал разработан и подготовлен Apocalypse
Категория: Пользователи | Добавил: Apocalypse | Теги: 2.0, форма, Apocalypse, локальных, ucoz, регистрации, by, умная, для, пользователей
Просмотров: 482 | Загрузок: 0 | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email: