login-soft.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. var Login = function () {
  2. var handleLogin = function() {
  3. $('.login-form').validate({
  4. errorElement: 'span', //default input error message container
  5. errorClass: 'help-block', // default input error message class
  6. focusInvalid: false, // do not focus the last invalid input
  7. rules: {
  8. username: {
  9. required: true
  10. },
  11. password: {
  12. required: true
  13. },
  14. remember: {
  15. required: false
  16. }
  17. },
  18. messages: {
  19. username: {
  20. required: "用户名不能为空."
  21. },
  22. password: {
  23. required: "密码不能为空."
  24. }
  25. },
  26. invalidHandler: function (event, validator) { //display error alert on form submit
  27. $('.alert-danger', $('.login-form')).show();
  28. },
  29. highlight: function (element) { // hightlight error inputs
  30. $(element)
  31. .closest('.form-group').addClass('has-error'); // set error class to the control group
  32. },
  33. success: function (label) {
  34. label.closest('.form-group').removeClass('has-error');
  35. label.remove();
  36. },
  37. errorPlacement: function (error, element) {
  38. error.insertAfter(element.closest('.input-icon'));
  39. },
  40. submitHandler: function (form) {
  41. form.submit();
  42. }
  43. });
  44. $('.login-form input').keypress(function (e) {
  45. if (e.which == 13) {
  46. if ($('.login-form').validate().form()) {
  47. $('.login-form').submit();
  48. }
  49. return false;
  50. }
  51. });
  52. }
  53. var handleForgetPassword = function () {
  54. $('.forget-form').validate({
  55. errorElement: 'span', //default input error message container
  56. errorClass: 'help-block', // default input error message class
  57. focusInvalid: false, // do not focus the last invalid input
  58. ignore: "",
  59. rules: {
  60. email: {
  61. required: true,
  62. email: true
  63. }
  64. },
  65. messages: {
  66. email: {
  67. required: "电子邮箱不能为空"
  68. }
  69. },
  70. invalidHandler: function (event, validator) { //display error alert on form submit
  71. },
  72. highlight: function (element) { // hightlight error inputs
  73. $(element)
  74. .closest('.form-group').addClass('has-error'); // set error class to the control group
  75. },
  76. success: function (label) {
  77. label.closest('.form-group').removeClass('has-error');
  78. label.remove();
  79. },
  80. errorPlacement: function (error, element) {
  81. error.insertAfter(element.closest('.input-icon'));
  82. },
  83. submitHandler: function (form) {
  84. form.submit();
  85. }
  86. });
  87. $('.forget-form input').keypress(function (e) {
  88. if (e.which == 13) {
  89. if ($('.forget-form').validate().form()) {
  90. $('.forget-form').submit();
  91. }
  92. return false;
  93. }
  94. });
  95. jQuery('#forget-password').click(function () {
  96. jQuery('.login-form').hide();
  97. jQuery('.forget-form').show();
  98. });
  99. jQuery('#back-btn').click(function () {
  100. jQuery('.login-form').show();
  101. jQuery('.forget-form').hide();
  102. });
  103. }
  104. var handleRegister = function () {
  105. function format(state) {
  106. if (!state.id) return state.text; // optgroup
  107. return "<img class='flag' src='img/" + state.id.toLowerCase() + ".png'/>&nbsp;&nbsp;" + state.text;
  108. }
  109. $('.register-form').validate({
  110. errorElement: 'span', //default input error message container
  111. errorClass: 'help-block', // default input error message class
  112. focusInvalid: false, // do not focus the last invalid input
  113. ignore: "",
  114. rules: {
  115. tb_fullname: {
  116. required: true
  117. },
  118. tb_email: {
  119. required: true,
  120. tb_email: true
  121. },
  122. tb_mobile: {
  123. required: true,
  124. },
  125. tb_wxcode: {
  126. required: true,
  127. },
  128. tb_name: {
  129. required: true
  130. },
  131. tb_password: {
  132. required: true
  133. },
  134. tb_rpassword: {
  135. equalTo: "#register_password"
  136. },
  137. tnc: {
  138. required: true
  139. }
  140. },
  141. messages: { // custom messages for radio buttons and checkboxes
  142. tnc: {
  143. required: "请先接受 TNC."
  144. }
  145. },
  146. invalidHandler: function (event, validator) { //display error alert on form submit
  147. },
  148. highlight: function (element) { // hightlight error inputs
  149. $(element)
  150. .closest('.form-group').addClass('has-error'); // set error class to the control group
  151. },
  152. success: function (label) {
  153. label.closest('.form-group').removeClass('has-error');
  154. label.remove();
  155. },
  156. errorPlacement: function (error, element) {
  157. if (element.attr("name") == "tnc") { // insert checkbox errors after the container
  158. error.insertAfter($('#register_tnc_error'));
  159. } else if (element.closest('.input-icon').size() === 1) {
  160. error.insertAfter(element.closest('.input-icon'));
  161. } else {
  162. error.insertAfter(element);
  163. }
  164. },
  165. submitHandler: function (form) {
  166. form.submit();
  167. }
  168. });
  169. $('.register-form input').keypress(function (e) {
  170. if (e.which == 13) {
  171. if ($('.register-form').validate().form()) {
  172. $('.register-form').submit();
  173. }
  174. return false;
  175. }
  176. });
  177. jQuery('#register-btn').click(function () {
  178. jQuery('.login-form').hide();
  179. jQuery('.register-form').show();
  180. });
  181. jQuery('#register-back-btn').click(function () {
  182. jQuery('.login-form').show();
  183. jQuery('.register-form').hide();
  184. });
  185. }
  186. return {
  187. //main function to initiate the module
  188. init: function () {
  189. handleLogin();
  190. handleForgetPassword();
  191. handleRegister();
  192. }
  193. };
  194. }();