• 使用ajax请求,模态框调用并更改密码


    前端页面

    <a href="javascript:void(0);" onclick="changPassword()">
      <i class="ace-icon fa fa-cog"></i>
      修改密码
    </a>

    <script type="text/javascript">
      //打开模态框
      function changPassword(){
        $("#navbar_edit").modal({
          backdrop :'static'
        });
      }
    </script>
    <#include "/include/navbar_edit.html">

    <!-- 模态框(Modal) -->
    <div class="modal fade" id="navbar_edit" tabindex="-1" role="dialog"
      aria-labelledby="roleEditLabel" aria-hidden="true">
      <div class="modal-dialog" style="500px;">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title" id="roleEditLabel">修改密码</h4>
          </div>
          <div class="modal-body">
          <div style="90%;">
            <form class="form-horizontal" id="navbar_pwd_reset">
              <div class="form-group">
                <label class="col-sm-4 control-label" for="old_password">旧密码:</label>
                <div class="col-sm-8" style="padding:0">
                <input class="col-sm-12" type="password" id="old_password"
                  name="old_password" placeholder="请输入旧密码 " />
                </div>
              </div>
              <div class="form-group">
                <label class="col-sm-4 control-label" for="new_password">新密码:</label>
                <div class="col-sm-8" style="padding:0">
                <input class="col-sm-12" type="password" id="new_password"
                  name="new_password" placeholder="请输入新密码 " />
                </div>
              </div>
              <div class="form-group">
                <label class="col-sm-4 control-label" for="confirm_password">确认新密码:</label>
                <div class="col-sm-8" style="padding:0">
                  <input class="col-sm-12" type="password" id="confirm_password"
                    name="confirm_password" placeholder="确认新密码 " />
                </div>
              </div>
            </form>
          </div>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-xs btn-default"
              data-dismiss="modal" id="navbar_close_btn">
            <i class="ace-icon fa fa-times bigger-110"></i> <span
              class="bigger-110 no-text-shadow">关闭</span>
          </button>
          <button type="button" class="btn btn-xs btn-primary" id="navbar_save_btn">
            <i class="ace-icon fa fa-floppy-o bigger-110"></i> <span
              class="bigger-110 no-text-shadow">保存</span>
          </button>
        </div>
       </div>
        <!-- /.modal-content -->
      </div>
    <!-- /.modal -->
    </div>

    <script type="text/javascript">
      $("#navbar_edit").on("show.bs.modal", function() {
        $("#navbar_edit #navbar_pwd_reset").formClear();

      });
      $("#navbar_edit").on("hidden.bs.modal", function() {
        $(this).removeData("bs.modal");

      });
      $(document).on("click", "#navbar_save_btn", function(e) {
        var old_psd = $("#navbar_pwd_reset #old_password").val();
        var new_psd = $("#navbar_pwd_reset #new_password").val();
        var con_psd = $("#navbar_pwd_reset #confirm_password").val();
        //alert(old_psd);
        //alert(new_psd);
        //alert(con_psd);
        if (old_psd == "" || new_psd == "" || con_psd == "") {
        bootbox.alert("相关字段不为空,请输入!");
          return false;
        };
        if (old_psd == new_psd) {
        bootbox.alert("旧密码和新密码相同,请重新输入!");
          return false;
        };
        if (new_psd != con_psd) {
          bootbox.alert("两次输入新密码不相同,请重新输入!");
          return false;
        };
        var params = $("#navbar_pwd_reset").serialize();
          //alert(params);
          $.ajax({
            cache : true,
            type : "POST",
            url : "${ctx!}/modifyPassword",
            data : params,
            async : false,
            error : function(request) {
              bootbox.alert("服务器连接错误,请稍后再试");
            },
            success : function(data) {
              if (SQ.isOK(data)) {
                bootbox.alert("重置成功", function() {
                  $("#navbar_close_btn").click();
                });
              } else {
                bootbox.alert("重置失败:" + SQ.getMessage(data));
              }
            },
          });
        });
    </script>

    后端页面

    public void modifyPassword() {
      BasMember sysUser = this.getLoginUser();

      if (sysUser == null || sysUser.getInt(BasMember.IsDelete).equals(1)) {
        render(new JsonRender(new AjaxResult(Constants.RESPONSE_STATUS_FAIL, "会话已过期,请重新登录!")).forIE());
        return;
      }

      // 旧秘密
      String password = getPara("old_password");
      password = CommonUtil.getEncryptedPwd(password);
      if (!password.equals(sysUser.get(BasMember.Password))) {
        render(new JsonRender(new AjaxResult(Constants.RESPONSE_STATUS_FAIL, "旧密码不正确!")).forIE());
        return;
      }

      // 新密码
      password = getPara("new_password");
      password = CommonUtil.getEncryptedPwd(password);

      // 赋值
      sysUser.set(BasMember.Password, password);
      sysUser.set(BasMember.ModifyBy, this.getLoginId());
      sysUser.set(BasMember.ModifyTime, StringUtil.getNowTime());
      if (!sysUser.update()) {
        render(new JsonRender(new AjaxResult(Constants.RESPONSE_STATUS_FAIL, "修改时出现异常")).forIE());
      }
      render(new JsonRender(new AjaxResult(Constants.RESPONSE_STATUS_OK, "修改成功!")).forIE());
    }

  • 相关阅读:
    sizeof()使用错例:sizeof(i++)
    修改linux命令符和解决命令符太长的问题
    【转载】阻止拷贝的三种方式
    git命令几个总结
    scp用法
    RAII
    a linked list
    c++11之函数式编程实例
    [转]基于SAML的单点登录介绍
    [转]OAuth、OAuth2与OpenID区别和联系
  • 原文地址:https://www.cnblogs.com/sho560/p/5305421.html
Copyright © 2020-2023  润新知