find_password_setp2.tpl 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="utf-8">
  5. <link rel="shortcut icon" href="{{cdnimg "/favicon.ico"}}">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  7. <meta name="renderer" content="webkit" />
  8. <meta name="viewport" content="width=device-width, initial-scale=1">
  9. <meta name="author" content="SmartWiki" />
  10. <title>找回密码 - Powered by MinDoc</title>
  11. <!-- Bootstrap -->
  12. <link href="{{cdncss "/static/bootstrap/css/bootstrap.min.css"}}" rel="stylesheet">
  13. <link href="{{cdncss "/static/font-awesome/css/font-awesome.min.css"}}" rel="stylesheet">
  14. <link href="{{cdncss "/static/css/main.css"}}" rel="stylesheet">
  15. <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  16. <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  17. <!--[if lt IE 9]>
  18. <script src="/static/html5shiv/3.7.3/html5shiv.min.js"></script>
  19. <script src="/static/respond.js/1.4.2/respond.min.js"></script>
  20. <![endif]-->
  21. <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
  22. <script src="{{cdnjs "/static/jquery/1.12.4/jquery.min.js"}}"></script>
  23. </head>
  24. <body class="manual-container">
  25. <header class="navbar navbar-static-top smart-nav navbar-fixed-top manual-header" role="banner">
  26. <div class="container">
  27. <div class="navbar-header col-sm-12 col-md-6 col-lg-5">
  28. <a href="{{.BaseUrl}}" class="navbar-brand">{{.SITE_NAME}}</a>
  29. </div>
  30. </div>
  31. </header>
  32. <div class="container manual-body">
  33. <div class="row login">
  34. <div class="login-body">
  35. <form role="form" method="post" id="findPasswordForm" action="{{urlfor "AccountController.ValidEmail"}}">
  36. <input type="hidden" name="token" value="{{.Token}}">
  37. <input type="hidden" name="mail" value="{{.Email}}">
  38. <h3 class="text-center">找回密码</h3>
  39. <div class="form-group">
  40. <label for="newPasswd">新密码</label>
  41. <input type="password" class="form-control" name="password1" id="newPassword" maxlength="20" placeholder="新密码" autocomplete="off">
  42. </div>
  43. <div class="form-group">
  44. <label for="configPasswd">确认密码</label>
  45. <input type="password" class="form-control" id="confirmPassword" name="password2" maxlength="20" placeholder="确认密码" autocomplete="off">
  46. </div>
  47. <div class="form-group">
  48. <div class="input-group" style="float: left;width: 195px;">
  49. <div class="input-group-addon">
  50. <i class="fa fa-check-square"></i>
  51. </div>
  52. <input type="text" name="code" id="code" class="form-control" style="width: 150px" maxlength="5" placeholder="验证码" autocomplete="off">&nbsp;
  53. </div>
  54. <img id="captcha-img" style="width: 140px;height: 40px;display: inline-block;float: right" src="{{urlfor "AccountController.Captcha"}}" onclick="this.src='{{urlfor "AccountController.Captcha"}}?key=login&t='+(new Date()).getTime();" title="点击换一张">
  55. <div class="clearfix"></div>
  56. </div>
  57. <div class="form-group">
  58. <button type="submit" id="btnSendMail" class="btn btn-success" style="width: 100%" data-loading-text="正在处理..." autocomplete="off">找回密码</button>
  59. </div>
  60. </form>
  61. </div>
  62. </div>
  63. <div class="clearfix"></div>
  64. </div>
  65. {{template "widgets/footer.tpl" .}}
  66. <!-- Include all compiled plugins (below), or include individual files as needed -->
  67. <script src="{{cdnjs "/static/bootstrap/js/bootstrap.min.js"}}" type="text/javascript"></script>
  68. <script src="{{cdnjs "/static/layer/layer.js"}}" type="text/javascript"></script>
  69. <script src="{{cdnjs "/static/js/jquery.form.js"}}" type="text/javascript"></script>
  70. <script type="text/javascript">
  71. $(function () {
  72. $("#email,#code").on('focus',function () {
  73. $(this).tooltip('destroy').parents('.form-group').removeClass('has-error');;
  74. });
  75. $(document).keydown(function (e) {
  76. var event = document.all ? window.event : e;
  77. if(event.keyCode == 13){
  78. $("#btn-login").click();
  79. }
  80. });
  81. $("#findPasswordForm").ajaxForm({
  82. beforeSubmit : function () {
  83. var newPassword = $.trim($("#newPassword").val());
  84. var confirmPassword = $.trim($("#confirmPassword").val());
  85. var code = $.trim($("#code").val());
  86. if(newPassword === ""){
  87. $("#newPassword").tooltip({placement:"auto",title : "密码不能为空",trigger : 'manual'})
  88. .tooltip('show')
  89. .parents('.form-group').addClass('has-error');
  90. return false;
  91. }else if(confirmPassword === ""){
  92. $("#confirmPassword").tooltip({placement:"auto",title : "确认密码不能为空",trigger : 'manual'})
  93. .tooltip('show')
  94. .parents('.form-group').addClass('has-error');
  95. return false;
  96. }else if(newPassword !== confirmPassword) {
  97. $("#confirmPassword").tooltip({placement:"auto",title : "确认密码输入不正确",trigger : 'manual'})
  98. .tooltip('show')
  99. .parents('.form-group').addClass('has-error');
  100. return false;
  101. }else if(code === ""){
  102. $("#code").tooltip({title : '验证码不能为空',trigger : 'manual'})
  103. .tooltip('show')
  104. .parents('.form-group').addClass('has-error');
  105. return false;
  106. }
  107. $("#btnSendMail").button("loading");
  108. },
  109. success : function (res) {
  110. if(res.errcode !== 0){
  111. $("#captcha-img").click();
  112. $("#code").val('');
  113. layer.msg(res.message);
  114. $("#btnSendMail").button('reset');
  115. }else{
  116. window.location = res.data;
  117. }
  118. },
  119. error :function () {
  120. $("#captcha-img").click();
  121. $("#code").val('');
  122. layer.msg('系统错误');
  123. $("#btnSendMail").button('reset');
  124. }
  125. });
  126. });
  127. </script>
  128. </body>
  129. </html>