Guest User

Untitled

a guest
Dec 11th, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.92 KB | None | 0 0
  1. $(document).ready(function() {
  2.  
  3. $("#avatar").click(function(e) {
  4. e.stopPropagation();
  5. $(".myModal").fadeIn();
  6.  
  7. });
  8.  
  9. $(".closeButton").click(function(e) {
  10. e.stopPropagation();
  11. $(".myModal").fadeOut();
  12.  
  13. });
  14.  
  15. $("body").click(function(e) {
  16. e.stopPropagation();
  17. $(".myModal").fadeOut();
  18.  
  19. });
  20.  
  21. $(".avatarSelect").click(function(e) {
  22. e.stopPropagation();
  23. });
  24.  
  25.  
  26. //validating form
  27.  
  28. var error = [];
  29. var errorlen = error.length;
  30.  
  31.  
  32. $('#username').on('input', function() {
  33. var username = $(this).val();
  34.  
  35. if (username.length < 6) {
  36. $('.one').html('Required: Username must be greater than 6 characters.');
  37. $('.one').addClass('errorBox');
  38. error.push('a');
  39.  
  40. } else {
  41. $('.one').html('');
  42. $('.one').removeClass('errorBox');
  43.  
  44. }
  45. })
  46.  
  47. $('#password').on('input', function() {
  48. var password = $(this).val();
  49.  
  50. if (password.length < 6) {
  51. $('.two').html('Required: Password must be greater than 6 characters.');
  52. $('.two').addClass('errorBox');
  53. error.push('b');
  54. } else {
  55. $('.two').html('');
  56. $('.two').removeClass('errorBox');
  57. }
  58. })
  59.  
  60. $('#cfmpassword, #password').on('change', function() {
  61. var password = $('#password').val();
  62. var cfmpassword = $('#cfmpassword').val();
  63.  
  64. if (password !== cfmpassword) {
  65. $('.three').html('Required: Confirmed password must match password.');
  66. $('.three').addClass('errorBox');
  67. error.push('c');
  68. } else {
  69. $('.three').html('');
  70. $('.three').removeClass('errorBox');
  71. }
  72. })
  73.  
  74. $('#email').on('input', function() {
  75. var email = $(this).val();
  76. var regemail = /^((([a-z]|d|[!#$%&'*+-/=?^_`{|}~]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])+(.([a-z]|d|[!#$%&'*+-/=?^_`{|}~]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])+)*)|((x22)((((x20|x09)*(x0dx0a))?(x20|x09)+)?(([x01-x08x0bx0cx0e-x1fx7f]|x21|[x23-x5b]|[x5d-x7e]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(\([x01-x09x0bx0cx0d-x7f]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))))*(((x20|x09)*(x0dx0a))?(x20|x09)+)?(x22)))@((([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])([a-z]|d|-|.|_|~|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])*([a-z]|d|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))).)+(([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])|(([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])([a-z]|d|-|.|_|~|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF])*([a-z]|[u00A0-uD7FFuF900-uFDCFuFDF0-uFFEF]))).?$/i;
  77.  
  78.  
  79. if (email.length < 3) {
  80. $('.four').html('Required: Email must be longer than 3 characters!');
  81. $('.four').addClass('errorBox');
  82. error.push('d');
  83. } else if (regemail.test(email) == false) {
  84. $('.five').html('Required: Email must be a valid email.');
  85. $('.five').addClass('errorBox');
  86. error.push('e');
  87. } else {
  88. $('.four', '.five').html('');
  89. $('.four', 'five').removeClass('errorBox');
  90. }
  91. })
  92.  
  93. $('#termsCheckbox').on('click', function() {
  94. var terms = $('#termsCheckbox').prop('checked');
  95.  
  96. if (!terms) {
  97. $('.six').html('Required: Terms and Conditons must be accepted.');
  98. $('.six').addClass('errorBox');
  99. error.push('f');
  100. } else {
  101. $('.six').html('');
  102. $('.six').removeClass('errorBox');
  103. }
  104. })
  105.  
  106. $('.avatarInput').on('click', function() {
  107. var radio = $('.avatarInput:checked').val();
  108.  
  109. if (!radio) {
  110. $('.seven').html('Required: An avatar must be selected.');
  111. $('.seven').addClass('errorBox');
  112. error.push('g');
  113. } else {
  114. $('.seven').html('');
  115. $('.seven').removeClass('errorBox');
  116. }
  117. })
  118.  
  119. for (x = 0; x < errorlen; x++) {
  120. $('#_registerForm').css('grid-template-row', +errorlen * 25 + "px 50px 50px 50px 50px 20px 50px");
  121. }
  122.  
  123.  
  124. })
  125.  
  126. * {
  127. font-family: helvetica;
  128. }
  129.  
  130. body {
  131. margin: 0px;
  132. padding: 0px;
  133. height: 100vh;
  134. width: 100%;
  135. overflow: hidden;
  136. display: grid;
  137. grid-template-columns: repeat(3, 1fr);
  138. grid-template-rows: repeat(3, 1fr);
  139. grid-template-areas: ". . ." ". center ." ". . .";
  140. }
  141.  
  142. .formSection {
  143. grid-area: center;
  144. width: 400px;
  145. justify-self: center;
  146. align-self: center;
  147. }
  148.  
  149. #_registerForm {
  150. width: 400px;
  151. display: grid;
  152. grid-template-columns: 1fr 1fr;
  153. grid-template-rows: 250px 50px 50px 50px 50px 20px 50px;
  154. grid-template-areas: "error error" "user user" "password confirm" "email email" "avatar avatar" "terms terms" "submit submit";
  155. grid-gap: 7px 3px;
  156. }
  157.  
  158. #username {
  159. grid-area: user;
  160. }
  161.  
  162. #password {
  163. grid-area: password;
  164. }
  165.  
  166. #cfmpassword {
  167. grid-area: confirm;
  168. }
  169.  
  170. #email {
  171. grid-area: email;
  172. }
  173.  
  174. #avatar {
  175. grid-area: avatar;
  176. }
  177.  
  178. .termsDiv {
  179. grid-area: terms;
  180. }
  181.  
  182. #submit {
  183. grid-area: submit;
  184. }
  185.  
  186. .message {
  187. grid-area: error;
  188. margin: 0px;
  189. padding: 5px;
  190. font-size: 14px;
  191. color: white;
  192. }
  193.  
  194. .avatarSelect {
  195. grid-area: center;
  196. background-color: #f4f4f4;
  197. width: 400px;
  198. height: 600px;
  199. overflow-y: scroll;
  200. box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.2);
  201. }
  202.  
  203. #avatarImage {
  204. height: 90px;
  205. }
  206.  
  207. .avatarInput {
  208. position: absolute;
  209. visibility: hidden;
  210. }
  211.  
  212. #avatarLabel > .avatarInput + #avatarImage {
  213. transition: all ease-in-out 0.5s;
  214. cursor: pointer;
  215. }
  216.  
  217. #avatarLabel > .avatarInput:checked + #avatarImage {
  218. transform: scale(0.8);
  219. cursor: pointer;
  220. }
  221.  
  222. #member {
  223. font-size: 12px;
  224. margin: 0px;
  225. padding-bottom: 5px;
  226. }
  227.  
  228. h2 {
  229. margin: 0px;
  230. padding: 0px;
  231. }
  232.  
  233. .myModal {
  234. display: none;
  235. position: absolute;
  236. z-index: 1;
  237. left: 0;
  238. top: 0;
  239. height: 100%;
  240. width: 100%;
  241. overflow-y: hidden;
  242. background-color: rgba(0, 0, 0, 0.5);
  243. }
  244.  
  245. .closeButton {
  246. color: #ccc;
  247. float: right;
  248. font-size: 30px;
  249. transition: all ease-in-out 0.5s;
  250. }
  251.  
  252. .closeButton:hover,
  253. .closeButton:focus {
  254. color: #000;
  255. text-decoration: none;
  256. cursor: pointer;
  257. }
  258.  
  259. .modalGrid {
  260. height: 100%;
  261. width: 100%;
  262. display: grid;
  263. grid-template-columns: repeat(3, 1fr);
  264. grid-template-rows: repeat(3, 1fr);
  265. grid-template-areas: ". center ." ". center . " ". center .";
  266. align-items: center;
  267. justify-items: center;
  268. }
  269.  
  270. .errorBox {
  271. background-color: rgb(255, 124, 124);
  272. padding: 5px;
  273. }
  274.  
  275. .successBox {
  276. background-color: rgb(124, 255, 141);
  277. padding: 5px;
  278. }
  279.  
  280. <body>
  281. <div class='formSection'>
  282. <h2>Please Sign Up!</h2>
  283. <p id='member'> Already a Member? <a href='#'>Login</a></p>
  284.  
  285. <form method='post' action='../_backendLoginSystem/register.php' autocomplete='off' id='_registerForm'>
  286.  
  287. <div class='message'>
  288.  
  289. <p class=' one'></p>
  290. <p class=' two'></p>
  291. <p class=' three'></p>
  292. <p class=' four'></p>
  293. <p class=' five'></p>
  294. <p class=' six'></p>
  295. <p class=' seven'></p>
  296.  
  297. </div>
  298.  
  299. <input type='text' name='username' id='username' autocomplete='off' placeholder='Username' maxlength="25">
  300. <input type='password' name='password' id='password' autocomplete='off' placeholder='Password' maxlength="30">
  301. <input type='password' name='cfmpassword' id='cfmpassword' autocomplete='off' placeholder='Confirm Password' maxlength="30">
  302. <input type='email' name='email' id='email' autocomplete='off' placeholder='Email' maxlength="50">
  303. <button type='button' id='avatar'>Select an Avatar</button>
  304. <div class='termsDiv'>
  305. <input type='checkbox' name='termsCheckbox' id='termsCheckbox'>
  306. <label for='termsCheckbox'>I agree to the <a href='#'>Terms and Conditions</a></label>
  307. </div>
  308. <input type='submit' name='submit' value='Create Account!' id='submit'>
  309.  
  310. </form>
  311.  
  312. </div>
  313.  
  314. <div class='myModal' id='modal'>
  315. <div class='modalGrid'>
  316. <div class='avatarSelect'>
  317. <span class='closeButton'>&times;</span>
  318. <?php
  319.  
  320. $imageFile = "../img/avatars/";
  321. $imageLoop = glob($imageFile. '*.*' , GLOB_BRACE);
  322.  
  323. foreach($imageLoop as $image){
  324. echo "<label id='avatarLabel'><input type='radio' class='avatarInput' name='avatar' value='$image' >
  325. <img src='$image' id='avatarImage'></label>";
  326. }
  327.  
  328. ?>
  329. </div>
  330. </div>
  331. </div>
  332.  
  333. <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  334. <script src='../_frontendLoginSystem/register.js'></script>
Add Comment
Please, Sign In to add comment