javascript - 从隐藏表单提交按钮刷新页面

标签 javascript jquery css

我有一个表单,在验证之后我获取数据并更新我弹出的隐藏表单或者只需要隐藏并需要发布到操作。

从隐藏我从代码手动提交 错误是总是通过提交引导来刷新页面。重定向

我的 js 代码:(可能是错字)。 - 表单验证

form.validate({
    ignoreTitle: true,
    onfocusout: function (element) {
        if (!this.checkable(element)) {
            this.element(element);
        }
    },
    onkeyup: false,
    rules: {
        firstName: {required: true, minlength: 2, maxlength: 45},
        lastName: {required: function () {
            return checkField("lastName")
        }, minlength: 2, maxlength: 45},

    },
    messages: {
        firstName: {required: FieldRequiredStr, minlength: invalidFirstName, maxlength: invalidFirstName},
        lastName: {required: FieldRequiredStr, minlength: invalidLastName, maxlength: invalidLastName},

    },
    onsubmit: true,
    submitHandler: function (frm) {
        if(!form.valid())return;

        $("#send",form).attr('disabled', 'disabled');
        $("#send",form).addClass('sent');

        form.ajaxSubmit(
            {
                url: "api.php",
                dataType: 'xml',
                success: function (response) {
                    var xml;

                    if (typeof response == 'string') {
                        xml = new ActiveXObject("Microsoft.XMLDOM");
                        xml.async = false;
                        xml.loadXML(response);
                    }


                        var url = "https://url/login"
                        console.log(url);
                        $('#frm2').attr('action', url );
                        $('#email').val($("#email",frm).val());
                        $('#password').val($("#password",frm).val());
                       // $.fancybox({href: '#make-deposit'});
                        //$("#frm2").submit();
                        //
                        setTimeout(function () {
                            $("#frm2").submit();

                        }, 2000);


                    }
                }
            });

    },
    errorPlacement: function (error, element) {

            //this is working good
        // A bit ugly.


    }

我的隐藏表单(即使没有隐藏点击提交也会刷新)

          <div style="display:none;">

                    <form id="frm2" method="post" action="https://url/login" target="">
        <input type="hidden" id="email" name="email" value="" />
         <input type="hidden" id="password" name="password" value="" /> 
           <input class="dbtn" type="submit" name="btn" id="btn" value="btn" />

                    </form>
            </div>

它在 Action 的 url 末尾没有斜杠的情况下工作 但是在那种情况下不会发送发布数据

最佳答案

这是因为表单已提交。您需要在提交处理程序中返回 false,如下所示:

submitHandler: function (frm) {
 //Your code here
return false;
}

关于javascript - 从隐藏表单提交按钮刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51883933/

相关文章:

javascript - 通过 javascript 从 AJAX 回调返回数据

javascript - Bootstrap 3 表单控制类问题?

javascript - 如何使用 JsTestDriver 测试 jquery 和 ajax 调用?

javascript - 根据 jQuery 中多个实例的另一个元素高度设置高度

javascript - 为什么我的基于类的新对象没有在控制台中定义?

javascript - 如何使用 Google App Engine 为 AJAX 请求提供压缩内容?

javascript - 在文本框中输入的日期必须反射(reflect)在其他文本框中

php - 使用 php、mysql 和 jquery 创建包含用户登录名和用户特定列表的待办事项列表

css - (WordPress) 我如何居中画廊?

html - IE 表格单元格边框错误与 colspan 设置