register.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. {include file=comm/head.html}
  2. {include file=comm/top.html}
  3. <div class="container pages">
  4. {include file=comm/position.html}
  5. <!-- 用户注册 -->
  6. <div class="row">
  7. <div class="col-lg-3"></div>
  8. <div class="col-12 col-lg-6">
  9. <form class="my-4" onsubmit="return register(this);">
  10. <div class="form-group">
  11. <label for="username">账 号</label>
  12. <input type="text" name="username" required id="username" onblur="isRegister()" class="form-control" placeholder="请输入登录账号">
  13. <div id="usernote"></div>
  14. </div>
  15. <div class="form-group">
  16. <label for="nickname">昵 称</label>
  17. <input type="text" name="nickname" required id="nickname" class="form-control" placeholder="请输入账号昵称">
  18. </div>
  19. <div class="form-group">
  20. <label for="password">密 码</label>
  21. <input type="password" name="password" required id="password" class="form-control" placeholder="请输入登录密码">
  22. </div>
  23. <div class="form-group">
  24. <label for="rpassword">确认密码</label>
  25. <input type="password" name="rpassword" required id="rpassword" class="form-control" placeholder="请再次输入登录密码">
  26. </div>
  27. {pboot:if({pboot:registercodestatus}==1)}
  28. <div class="form-group">
  29. <label for="checkcode">验证码</label>
  30. <div class="row">
  31. <div class="col-6">
  32. <input type="text" name="checkcode" required id="checkcode" class="form-control" placeholder="请输入验证码">
  33. </div>
  34. <div class="col-6">
  35. <img title="点击刷新" style="height:33px;" id="codeimg" src="{pboot:checkcode}" onclick="this.src='{pboot:checkcode}?'+Math.round(Math.random()*10);" />
  36. </div>
  37. </div>
  38. </div>
  39. {/pboot:if}
  40. {pboot:if({pboot:registercodestatus}==2)}
  41. <div class="form-group">
  42. <label for="checkcode">邮箱验证码</label>
  43. <div class="row">
  44. <div class="col-6">
  45. <input type="text" name="checkcode" required id="checkcode" class="form-control" placeholder="请输入验证码">
  46. </div>
  47. <div class="col-6">
  48. <span class="btn btn-info mb-2" onclick="sendEmail();">发送</span>
  49. </div>
  50. </div>
  51. </div>
  52. {/pboot:if}
  53. <div class="form-group">
  54. <button type="submit" class="btn btn-info mb-2">立即注册</button>
  55. <span class="text-secondary ml-3">已有账号?<a href="{pboot:login}">马上登录</a></span>
  56. </div>
  57. </form>
  58. </div>
  59. <div class="col-lg-3"></div>
  60. </div>
  61. </div>
  62. <script>
  63. //ajax注册
  64. function register(obj){
  65. var url='{pboot:register}';
  66. var username=$(obj).find("#username").val();
  67. var nickname=$(obj).find("#nickname").val();
  68. var password=$(obj).find("#password").val();
  69. var rpassword=$(obj).find("#rpassword").val();
  70. var sex=$(':radio[name="sex"]:checked').val();
  71. var checkcode=$(obj).find("#checkcode").val();
  72. $.ajax({
  73. type: 'POST',
  74. url: url,
  75. dataType: 'json',
  76. data: {
  77. username: username,
  78. nickname: nickname,
  79. password: password,
  80. rpassword: rpassword,
  81. sex: sex,
  82. checkcode: checkcode
  83. },
  84. success: function (response, status) {
  85. if(response.code){
  86. alert("注册成功!");
  87. location.href= response.tourl;
  88. }else{
  89. $('#codeimg').click();
  90. alert(response.data);
  91. }
  92. },
  93. error:function(xhr,status,error){
  94. alert('返回数据异常!');
  95. }
  96. });
  97. return false;
  98. }
  99. //发送邮件验证码
  100. function sendEmail(){
  101. var url='{pboot:sendemail}';
  102. var username=$("#username").val();
  103. if(!username){
  104. $("#username").addClass("is-invalid");
  105. $("#usernote").addClass("invalid-feedback");
  106. $("#username").removeClass("is-valid");
  107. $("#usernote").removeClass("valid-feedback");
  108. $("#usernote").text("请输入需要注册的账号!");
  109. return false;
  110. }
  111. $.ajax({
  112. type: 'POST',
  113. url: url,
  114. dataType: 'json',
  115. data: {
  116. to: username
  117. },
  118. success: function (response, status) {
  119. if(response.code){
  120. alert(response.data);
  121. }else{
  122. alert(response.data);
  123. }
  124. },
  125. error:function(xhr,status,error){
  126. alert('返回数据异常!');
  127. }
  128. });
  129. return false;
  130. }
  131. //检查注册账号
  132. function isRegister(){
  133. var url='{pboot:isregister}';
  134. var username=$("#username").val();
  135. if(!username){
  136. $("#username").addClass("is-invalid");
  137. $("#usernote").addClass("invalid-feedback");
  138. $("#username").removeClass("is-valid");
  139. $("#usernote").removeClass("valid-feedback");
  140. $("#usernote").text("请输入需要注册的账号!");
  141. return false;
  142. }
  143. $.ajax({
  144. type: 'POST',
  145. url: url,
  146. dataType: 'json',
  147. data: {
  148. username: username
  149. },
  150. success: function (response, status) {
  151. if(response.code){//已经被注册
  152. $("#username").addClass("is-invalid");
  153. $("#usernote").addClass("invalid-feedback");
  154. $("#username").removeClass("is-valid");
  155. $("#usernote").removeClass("valid-feedback");
  156. }else{//未被注册
  157. $("#username").addClass("is-valid");
  158. $("#usernote").addClass("valid-feedback");
  159. $("#username").removeClass("is-invalid");
  160. $("#usernote").removeClass("invalid-feedback");
  161. }
  162. $("#usernote").text(response.data);
  163. },
  164. error:function(xhr,status,error){
  165. alert('返回数据异常!');
  166. }
  167. });
  168. return false;
  169. }
  170. </script>
  171. {include file=comm/foot.html}