register.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. {extend name="default/base/base_home" /}
  2. {block name="mall_main"}
  3. <link rel="stylesheet" href="{$Think.HOME_SITE_ROOT}/css/member_login.css">
  4. <div class="ds-login-layout">
  5. <div class="openid">
  6. <span class="avatar">
  7. <img src="{$headimgurl}" />
  8. </span>
  9. <span class="notice">{$Think.lang.home_wx_prompt_1}<a>{$wxuser_info.nickname}</a>{$Think.lang.home_wx_prompt_2}</span></div>
  10. <div class="left-pic">
  11. <img src="{$Think.HOME_SITE_ROOT}/images/login_openid.jpg" />
  12. </div>
  13. <div class="ds-login">
  14. <div class="arrow"></div>
  15. <div class="ds-wx-mode">
  16. <ul class="tabs-nav">
  17. <li><a href="#register">{$Think.lang.wechat_binding_register_title}<i></i></a></li>
  18. </ul>
  19. <div id="tabs_container" class="tabs-container">
  20. <div id="register" class="tabs-content">
  21. <form name="register_form" id="register_form" class="ds-login-form" method="post" action="{:url('Connectwx/edit_info')}">
  22. <dl>
  23. <dt>{$Think.lang.login_register_bind}:</dt>
  24. <dd>
  25. <div class="tab-wrapper">
  26. <label><input type="radio" value="0" name="type">{$Think.lang.login_register_connect_now}</label>
  27. <label><input type="radio" value="1" name="type" checked>{$Think.lang.login_register_join_us}</label>
  28. </div>
  29. </dd>
  30. </dl>
  31. <dl>
  32. <dt>{$Think.lang.login_register_username}:</dt>
  33. <dd>
  34. <input type="text" value="{:session('member_name')}" id="user" name="user" class="text"/>
  35. </dd>
  36. </dl>
  37. <dl>
  38. <dt>{$Think.lang.login_register_pwd}:</dt>
  39. <dd>
  40. <input type="password" value="" id="password" name="password" class="text"/>
  41. </dd>
  42. </dl>
  43. <dl class="input-register">
  44. <dt>{$Think.lang.login_register_pwd2}:</dt>
  45. <dd>
  46. <input type="password" value="" id="password2" name="password2" class="text"/>
  47. </dd>
  48. </dl>
  49. <div class="submit-div">
  50. <input type="hidden" name="headimgurl" value="{$headimgurl}"/>
  51. <input type="hidden" name="unionid" value="{$wxuser_info.unionid}"/>
  52. <input type="hidden" name="nickname" value="{$wxuser_info.nickname}"/>
  53. <input type="submit" name="submit" value="{$Think.lang.login_register_enter_now}" class="submit"/>
  54. </div>
  55. </form>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. <script type="text/javascript">
  62. $(function(){
  63. $('.tab-wrapper input').click(function(){
  64. var rules={user: {
  65. minlength: 3,
  66. maxlength: 15,
  67. remote: {
  68. url: HOMESITEURL + '/Login/check_member.html',
  69. type: 'get',
  70. data: {
  71. member_name: function () {
  72. return $('#user').val();
  73. }
  74. }
  75. }
  76. },
  77. password: {
  78. minlength: 6,
  79. maxlength: 20
  80. }
  81. }
  82. if($(this).val()=='1'){
  83. $('#user').rules("add",rules.user)
  84. $('#password').rules("add",rules.password)
  85. $('.input-register').show()
  86. $('.input-register input').removeClass('ignore')
  87. }else{
  88. $('#user').rules("remove",'minlength maxlength remote')
  89. $('#password').rules("remove",'minlength maxlength')
  90. $('.input-register').hide()
  91. $('.input-register input').addClass('ignore')
  92. }
  93. })
  94. //注册表单验证
  95. let vali=$('#register_form').validate({
  96. errorPlacement: function(error, element){
  97. var error_td = element.parent('dd');
  98. error_td.append(error);
  99. element.parents('dl:first').addClass('error');
  100. },
  101. success: function(label) {
  102. label.parents('dl:first').removeClass('error').find('label').remove();
  103. },
  104. ignore: ".ignore",
  105. rules: {
  106. user: {
  107. required: true,
  108. minlength: 3,
  109. maxlength: 15,
  110. remote: {
  111. url: HOMESITEURL + '/Login/check_member.html',
  112. type: 'get',
  113. data: {
  114. member_name: function () {
  115. return $('#user').val();
  116. }
  117. }
  118. }
  119. },
  120. password: {
  121. required: true,
  122. minlength: 6,
  123. maxlength: 20
  124. },
  125. password2: {
  126. required: true,
  127. equalTo: '#password',
  128. },
  129. email: {
  130. required: true,
  131. email: true,
  132. remote: {
  133. url: "{:url('Login/check_email')}",
  134. type: 'get',
  135. data: {
  136. email: function() {
  137. return $('#email').val();
  138. }
  139. }
  140. }
  141. }
  142. },
  143. messages : {
  144. user: {
  145. required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_input_username}',
  146. minlength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_username_range}',
  147. maxlength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_username_range}',
  148. remote: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_username_exists}'
  149. },
  150. password : {
  151. required : '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_input_password}',
  152. minlength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_password_range}',
  153. maxlength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_password_range}'
  154. },
  155. password2 : {
  156. required : '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_input_password_again}',
  157. equalTo: '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_password_not_same}'
  158. },
  159. email : {
  160. required : '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_input_email}',
  161. email : '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_invalid_email}',
  162. remote : '<i class="iconfont">&#xe64c;</i>{$Think.lang.login_register_email_exists}'
  163. }
  164. }
  165. });
  166. });
  167. </script>
  168. {/block}