ajax请求时,一次点击为什么会两次提交的问题?

源代码 

 //监听提交
        form.on('submit(edit)', function (data) {
            var old_password = $('#oldPassword').val();
            var new_password = $('#new_password').val();
            var again_password = $('#again_password').val();
            if (password == old_password && old_password != new_password) {
                if (new_password == again_password) {
                    console.log(data.field);
                    $.ajax({
                        url: "/LayuiMini/user/change",
                        type: "post",
                        async: true,
                        dataType: "json",
                        data: {
                            Password: new_password
                        },
                        success: function (data) {
                            if (data.code == 500) {
                                layer.msg(data.msg, {
                                    icon: 3,
                                    time: 1000
                                });
                            } else {
                                layer.msg('修改成功', {
                                    icon: 1,
                                    time: 1000
                                }, function () {
                                    window.parent.location.href = "/LayuiMini/user/toMyHome";
                                });
                            }
                        },
                        error: function () {
                            layer.msg('服务器错误');
                        }
                    });
                } else {
                    layer.msg("确认密码与新密码不一致!", {icon: 0,time: 1000});
                }
            }else if (password != old_password){
                layer.msg("旧密码不正确!", {icon: 0,time: 1000
                });
            }else{
                layer.msg("新密码与旧密码一致!", {
                    icon: 0,
                    time: 1000
                });
            }
            return false;
        });
    });

 

<form class="layui-form" id="ajaxForm">
        <input type="hidden"  id="password" th:value="${user.Password}">
        <div class="layui-form-item">
            <label class="layui-form-label">旧密码</label>
            <div class="layui-input-inline">
                <input type="password"  id="oldPassword"  lay-verify="required" lay-reqtext="旧密码不能为空" placeholder="请输入旧的密码"   class="layui-input">
                <tip>填写自己账号的旧的密码</tip>
            </div>
        </div>
        <div class="layui-form-item layui-form-text">
            <label class="layui-form-label">新密码</label>
            <div class="layui-input-inline">
                <input type="password" id="new_password" lay-verify="required|newPassword" lay-reqtext="新密码不能为空" placeholder="请输入新的密码"   class="layui-input">
            </div>
        </div>
        <div class="layui-form-item layui-form-text">
            <label class="layui-form-label">确认密码</label>
            <div class="layui-input-inline">
                <input type="password"  id="again_password" lay-verify="required|againPassword" lay-reqtext="确认密码不能为空" placeholder="请输入新的密码"   class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label"></label>
            <button class="layui-btn" lay-filter="edit" lay-submit="">
                修改</button>
            <button class="layui-btn" onclick="myclose()">关闭</button>
        </div>
    </form>

我把表单中的那个时间过滤给删掉了,你再试下。

 

应该是提交按钮有问题,不使用type为submit类型的按钮,而是使用type是button的按钮。

 from表单信息

<form class="layui-form" id="ajaxForm" lay-filter="formTest">
        <input type="hidden"  id="password" th:value="${user.Password}">
        <div class="layui-form-item">
            <label class="layui-form-label">旧密码</label>
            <div class="layui-input-inline">
                <input type="password"  id="oldPassword"  lay-verify="required" lay-reqtext="旧密码不能为空" placeholder="请输入旧的密码"   class="layui-input">
                <tip>填写自己账号的旧的密码</tip>
            </div>
        </div>
        <div class="layui-form-item layui-form-text">
            <label class="layui-form-label">新密码</label>
            <div class="layui-input-inline">
                <input type="password" id="new_password" lay-verify="required|newPassword" lay-reqtext="新密码不能为空" placeholder="请输入新的密码"   class="layui-input">
            </div>
        </div>
        <div class="layui-form-item layui-form-text">
            <label class="layui-form-label">确认密码</label>
            <div class="layui-input-inline">
                <input type="password"  id="again_password" lay-verify="required|againPassword" lay-reqtext="确认密码不能为空" placeholder="请输入新的密码"   class="layui-input">
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label"></label>
            <button class="layui-btn" lay-filter="edit" lay-submit="">
                修改</button>
            <button class="layui-btn" onclick="myclose()">关闭</button>
        </div>
    </form>

 

将lay-submit="" 改成 lay-submit试试

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

看看form表单代码,应该是页面上的问题