jQuery form validation with animation
This commit is contained in:
parent
ce18ead583
commit
66361a1bd1
2 changed files with 73 additions and 6 deletions
|
@ -146,7 +146,7 @@
|
|||
</label>
|
||||
</div>
|
||||
{ANCHOR place="the_form"}
|
||||
<input type="submit" name="signup" class="btn btn-success btn-lg btn-block" value="{lang code='Sign up'}">
|
||||
<input type="submit" name="signup" class="btn btn-success btn-lg btn-block" id="signup_submit" value="{lang code='Sign up'}">
|
||||
{ANCHOR place='signup_form'}
|
||||
</form>
|
||||
{/if}
|
||||
|
@ -157,6 +157,7 @@
|
|||
{/if}
|
||||
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
|
||||
<script>
|
||||
|
||||
$(document).ready(function(){
|
||||
jQuery('#dob').datepicker({
|
||||
showOtherMonths: true,
|
||||
|
@ -167,9 +168,76 @@
|
|||
});
|
||||
$('.simple_container').addClass('alert-success alert');
|
||||
});
|
||||
|
||||
var errors = {
|
||||
"empty_name" : "{lang code='usr_uname_err'}",
|
||||
"name_length" : "{lang code='user_name_invalid_len'}",
|
||||
"name_invalid_chars" : "{lang code='usr_uname_err3'}",
|
||||
"pass_mismatch" : "{lang code='usr_pass_err3'}",
|
||||
"empty_pass" : "{lang code='usr_pass_err2'}",
|
||||
"empty_email" : "{lang code='usr_email_err1'}" ,
|
||||
"invalid_email":"{lang code='usr_email_err2'}"
|
||||
};
|
||||
|
||||
function addErrClass(obj, msg) {
|
||||
$(obj).closest('.form-group').addClass('invalid-error');
|
||||
$('<span class="help-block">'+msg+"</span>").insertAfter(obj);
|
||||
$("html, body").animate({ scrollTop: 0 }, "slow");
|
||||
}
|
||||
|
||||
$('#signup_submit').on("click",function(e){
|
||||
$('span').remove();
|
||||
$('div').removeClass('invalid-error');
|
||||
e.preventDefault();
|
||||
var usernameSect = $('#username'),
|
||||
username = usernameSect.val(),
|
||||
emailSect = $('#email'),
|
||||
email = emailSect.val(),
|
||||
passwordSect = $('#password'),
|
||||
password = passwordSect.val(),
|
||||
cpasswordSect = $('#cpassword'),
|
||||
cpassword = cpasswordSect.val();
|
||||
gotNums = username.match(/\d+/g);
|
||||
var goodToGo = true;
|
||||
|
||||
if (username.length == 0) {
|
||||
addErrClass(usernameSect, errors["empty_name"]);
|
||||
goodToGo = false;
|
||||
} else if (username.length < 2 || username.length > 50) {
|
||||
addErrClass(usernameSect, errors["name_length"]);
|
||||
goodToGo = false;
|
||||
}
|
||||
|
||||
if (gotNums != null) {
|
||||
addErrClass(usernameSect, errors["name_invalid_chars"]);
|
||||
goodToGo = false;
|
||||
}
|
||||
|
||||
if (email.length == 0) {
|
||||
addErrClass(emailSect, errors["empty_email"]);
|
||||
goodToGo = false;
|
||||
} else if (!isValidEmail(email)) {
|
||||
addErrClass(emailSect, errors["invalid_email"]);
|
||||
goodToGo = false;
|
||||
}
|
||||
|
||||
if (password.length == 0) {
|
||||
addErrClass(passwordSect, errors["empty_pass"]);
|
||||
goodToGo = false;
|
||||
}
|
||||
|
||||
if (password != cpassword) {
|
||||
addErrClass(cpasswordSect, errors["pass_mismatch"]);
|
||||
goodToGo = false;
|
||||
}
|
||||
|
||||
if (goodToGo == true) {
|
||||
$('#signup_form').submit();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{literal}
|
||||
<style>
|
||||
.ui-datepicker {
|
||||
background: #fff;
|
||||
|
@ -178,4 +246,3 @@
|
|||
vertical-align: center;
|
||||
}
|
||||
</style>
|
||||
{/literal}
|
|
@ -103,7 +103,7 @@
|
|||
<div class="tab-pane videos fade in clearfix active" id="user-videos">
|
||||
<div class="clearfix row user_vids">
|
||||
{if $uservideos}
|
||||
<div class="clearfix">
|
||||
<div id="usr-vids" class="clearfix">
|
||||
{foreach $uservideos as $video}
|
||||
<div class="item-video col-lg-4 col-md-4 col-sm-6 col-xs-12">
|
||||
{include file="$style_dir/blocks/videos/video.html" display_type='homeVideos'}
|
||||
|
@ -336,7 +336,7 @@ $('#cover_info').show();
|
|||
success: function(data) {
|
||||
$('#more-view-channel').remove();
|
||||
if (data.length > 1) {
|
||||
$(data).appendTo('.user_vids').fadeIn('slow');
|
||||
$(data).appendTo('#usr-vids').fadeIn('slow');
|
||||
$('<div class="clearfix text-center"><button id="more-view-channel" class="btn btn-loadmore" dataLimit="'+loadLimit+'" dataHit="'+nextHit+'">Load More</button></div>').appendTo('.user_vids').fadeIn('slow');
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue