confirmPassword.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <div class="page-title">
  2. <div class="title-env">
  3. <h1 class="title">确认密码</h1>
  4. </div>
  5. <div class="breadcrumb-env">
  6. <ol class="breadcrumb bc-1">
  7. <li>
  8. <a href="/"><i class="fa-home"></i>Home</a>
  9. </li>
  10. <li>
  11. <a href="/set/index">常用设置</a>
  12. </li>
  13. <li class="active">
  14. <strong>确认密码</strong>
  15. </li>
  16. </ol>
  17. </div>
  18. </div>
  19. <div class="row">
  20. <div class="col-sm-12">
  21. <div class="panel panel-default">
  22. <div class="panel-body">
  23. <form role="form" class="form-horizontal">
  24. <?php if(!empty($admin['confirmPassword'])){ ?>
  25. <div class="form-group">
  26. <label class="col-sm-2 control-label">*原密码:</label>
  27. <div class="col-sm-10">
  28. <input type="password" class="form-control" name="preConfirmPassword" placeholder="">
  29. <p></p>
  30. </div>
  31. </div>
  32. <?php }else{ ?>
  33. <div class="form-group" style="display:none">
  34. <label class="col-sm-2 control-label">*原密码:</label>
  35. <div class="col-sm-10">
  36. <input type="hidden" class="form-control" name="preConfirmPassword" value="123456" placeholder="">
  37. <p></p>
  38. </div>
  39. </div>
  40. <?php }?>
  41. <div class="form-group">
  42. <label class="col-sm-2 control-label">*新密码:</label>
  43. <div class="col-sm-10">
  44. <input type="password" class="form-control" name="confirmPassword" placeholder="密码不少于6位数">
  45. <p></p>
  46. </div>
  47. </div>
  48. <div class="form-group">
  49. <label class="col-sm-2 control-label">*确认新密码:</label>
  50. <div class="col-sm-10">
  51. <input type="password" class="form-control" name="repeatConfirmPassword" placeholder="">
  52. <p></p>
  53. </div>
  54. </div>
  55. <div class="form-group-separator"></div>
  56. <div class="form-group" style="text-align:center;">
  57. <button type="button" onclick="modifySubmit('click',this)" class="btn btn-info btn-single">确认</button>
  58. <button type="button" onclick="history.go(-1);" class="btn btn-info btn-single">返回</button>
  59. </div>
  60. </form>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. <!-- footer -->
  66. <?php
  67. use backend\widgets\FooterWidget;
  68. ?>
  69. <?= FooterWidget::widget()?>
  70. <!-- footer -->
  71. <script>
  72. //添加文章验证流程
  73. var preConfirmPassword = $("input[name=preConfirmPassword]");
  74. var confirmPassword = $("input[name=confirmPassword]");
  75. var repeatConfirmPassword = $("input[name=repeatConfirmPassword]");
  76. var needValidate = [preConfirmPassword,confirmPassword,repeatConfirmPassword];
  77. modifySubmit();
  78. function modifySubmit()
  79. {
  80. setStats(preConfirmPassword, '请填写原密码', function(val, mess){
  81. var info=[false, mess];
  82. if(val.length <= 0){
  83. info[1] = '请填写原密码';
  84. }else{
  85. info[0] = true;
  86. }
  87. return info;
  88. });
  89. setStats(confirmPassword, '请填写新密码', function(val, mess){
  90. var info=[false, mess];
  91. if(val.length <= 0){
  92. info[1] = '请填写新密码';
  93. }else if(getLength(val) < 6){
  94. info[1] = '新密码不能少于6位';
  95. }else{
  96. info[0] = true;
  97. }
  98. return info;
  99. });
  100. setStats(repeatConfirmPassword, '请填写新密码', function(val, mess){
  101. var info=[false, mess];
  102. var cpd = confirmPassword.val();
  103. if(val.length <= 0){
  104. info[1] = '请填写确认密码';
  105. }else if(cpd != val){
  106. info[1] = '二次密码不一致';
  107. }else if(getLength(val) < 6){
  108. info[1] = '确认密码不能少于6位';
  109. }else{
  110. info[0] = true;
  111. }
  112. return info;
  113. });
  114. if(arguments[0] == 'click'){//用户点击提交
  115. var submitButton = arguments[1];//获取提交按钮对象
  116. var submitButtonObj = $(submitButton);
  117. if(submitButtonObj.attr('submitStatus') == 'yes'){
  118. xhPopMsg('提交中……,请稍等',1000);
  119. return;//表单已经提交成功,不允许重复提交
  120. }
  121. var verifyStatus = true;
  122. for(var m=0;m<needValidate.length;m++){
  123. var singleObj = needValidate[m];
  124. if(singleObj.attr('modifyStatus') == undefined){
  125. singleObj.blur();
  126. }
  127. if(singleObj.attr('modifyStatus') == 'no'){
  128. verifyStatus = false;
  129. continue;
  130. }
  131. }
  132. if(verifyStatus){
  133. data = "_csrf=<?= Yii::$app->request->csrfToken ?>&password="+confirmPassword.val()+"&prePassword="+preConfirmPassword.val();
  134. $.ajax({type:"POST",url:'/set/modify-password',data:data,dataType:'json',async:false,success:function(data){
  135. if(data.code == 'A0001'){
  136. submitButtonObj.attr('submitStatus','yes');
  137. xhPopMsg(data.msg,1300);//调用定时浮层 XXX毫秒后消失
  138. setTimeout(function(){
  139. window.location.href='/main/index';
  140. },1400);
  141. }else{
  142. xhPopMsg(data.msg,1300);//调用定时浮层 XXX毫秒后消失
  143. }
  144. }
  145. });
  146. }
  147. }
  148. }
  149. function setStats(obj,mess,check)
  150. {
  151. obj.focus(function(){
  152. $(this).removeAttr('modifyStatus');
  153. $(this).siblings('p').removeClass('help-error-mention').html('');
  154. $(this).parent().parent().removeClass("has-success").removeClass('has-error');
  155. });
  156. obj.blur(function(){
  157. var objVal = obj.val();
  158. var info = check(objVal,mess);
  159. if(info[0]){
  160. $(this).attr('modifyStatus','yes');
  161. $(this).siblings('p').removeClass('help-error-mention').html('');
  162. $(this).parent().parent().addClass("has-success").removeClass("has-error");
  163. }else{
  164. $(this).attr('modifyStatus','no');
  165. $(this).siblings('p').addClass('help-error-mention').html(info[1]);
  166. $(this).parent().parent().addClass("has-error").removeClass("has-success");
  167. }
  168. });
  169. }
  170. </script>