Javascript js和ajax验证后未提交表单

Javascript js和ajax验证后未提交表单,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,在我验证了用户已将数据输入到所需字段但表单未提交之后,我使用ajax验证用户凭据。我创建了一个变量submit\u form,该变量用于确定是否执行了默认表单操作,但当将其设置为true并将其记录在控制台日志中时,它似乎仍在继续其默认值false,为什么会这样?如何更改它,以便在用户名和密码正确后提交我的表单。 这是我在浏览器中的控制台截图 以下是我的代码: /*global $*/ /*global _*/ $(document).ready(function() { 'use s

在我验证了用户已将数据输入到所需字段但表单未提交之后,我使用ajax验证用户凭据。我创建了一个变量
submit\u form
,该变量用于确定是否执行了默认表单操作,但当将其设置为
true
并将其记录在控制台日志中时,它似乎仍在继续其默认值
false
,为什么会这样?如何更改它,以便在用户名和密码正确后提交我的表单。 这是我在浏览器中的控制台截图

以下是我的代码:

/*global $*/
/*global _*/

$(document).ready(function() {
    'use strict';
    $('#login-form').on('submit', function(event) {
        var form_items = {
            username: { required: true, name: 'Username' },
            password: { required: true, name: 'Password' },
            token: {}
        };   

        var $login_form = $(this);
        var submit_form = false;
        var errors;
        var display = '';
        var data;

        var validation = new Validation( form_items );
        validation = validation.check( $login_form['context'] );

        // If any element has the class for errors, remove the class
        $('.has-error').removeClass('has-error');

        if ( validation.passed() ) {
            data = JSON.stringify( validation.getData() );
            $.ajax({
                method: "POST",
                url: "ajax/login.ajax.php",
                data: { info: data }
            }).done(function( response ) {
                response = JSON.parse(response);

                // if the error list display is there, remove it
                $('.bg-danger').parent().remove();
                if ( _.has(response, 'errors') ) {
                    errors = response['errors'];
                    display = '<div class="form-group"><ul class="bg-danger">';
                    if ( _.isArray(errors) || _.isObject(errors) ) {
                        _.each( errors, function(elem, index, list) {
                            display += '<li>' + elem + '</li>';
                        });
                    } else {
                        display += '<li>' + errors + '</li>';
                    }
                    display += '</ul></div>';
                    $login_form.prepend( display );
                } else {
                    submit_form = true;
                }
            });
            console.log( submit_form );
        } else {
            // if the error list display is there, remove it
            $('.bg-danger').parent().remove();

            errors = validation.getErrors();
            display = '<div class="form-group"><ul class="bg-danger">';
            _.each( errors, function(elem, index, list) {
                var $form_element = $('#'+index); // get form element
                $form_element.parent().parent().addClass('has-error');
                display += '<li>' + elem + '</li>';
            });
            display += '</ul></div>';
            $login_form.prepend( display );
        }

        if ( !submit_form ) {
            event.preventDefault();
        }
    });
});
/*全局$*/
/*全球的_*/
$(文档).ready(函数(){
"严格使用",;
$(“#登录表单”)。在('submit',函数(事件){
变量形式_项={
用户名:{必需:true,名称:'username'},
密码:{必需:true,名称:'password'},
令牌:{}
};   
var$login\u form=$(此);
var submit_form=false;
var误差;
变量显示=“”;
var数据;
var验证=新验证(表格项目);
验证=验证。检查($login_form['context']);
//如果任何元素的类有错误,请删除该类
$('.has-error').removeClass('has-error');
if(validation.passed()){
data=JSON.stringify(validation.getData());
$.ajax({
方法:“张贴”,
url:“ajax/login.ajax.php”,
数据:{info:data}
}).完成(功能(响应){
response=JSON.parse(response);
//如果存在错误列表显示,请将其删除
$('.bg danger').parent().remove();
if(uu.has(响应“errors”)){
错误=响应['errors'];
显示='
    ; 如果(u.isArray(错误)| | u.isObject(错误)){ _.每个(错误、功能(元素、索引、列表){ 显示+='
  • '+elem+'
  • '; }); }否则{ 显示+='
  • '+错误+'
  • '; } 显示+='
'; $login_form.prepend(显示); }否则{ 提交表格=真; } }); 控制台日志(提交表格); }否则{ //如果存在错误列表显示,请将其删除 $('.bg danger').parent().remove(); errors=validation.getErrors(); 显示='
    ; _.每个(错误、功能(元素、索引、列表){ var$form_element=$('#'+index);//获取表单元素 $form_element.parent().parent().addClass('has-error'); 显示+='
  • '+elem+'
  • '; }); 显示+='
'; $login_form.prepend(显示); } 如果(!提交表格){ event.preventDefault(); } }); });
因为您无法从Ajax请求中返回。@您需要通过代码提交表单,对如何处理该问题有何建议