之前没怎么用过ajax,所以选择了jQuery Form plugin。我的目标是让插件提交表单,使用我的验证来检查表单字段是否正确填写,如果是则提交表单。
上述所有工作,除了验证。当我单击“提交”时,验证会短暂显示,然后该框会淡出,正如我在 ajax 表单脚本中的成功调用中设置的那样。
var options = { 
    beforeSubmit: validation,
    success: function() {
        var url = '/includes/embed-topbar-login-account';
        $('#account').load(url, function() {
            $('#account-options').fadeOut('slow');
        });
    }
}; 
$('#login').ajaxForm(options); 
function validation() {
    var prompt = '<div class="required-prompt"><small>This field is required.</small></div>';
    var promptEmail = '<div class="required-prompt"><small>Invalid email address.</small></div>';
    var required = true;
        $('.required-prompt', this).remove();
        $('.required', this).each(function() {
            if( !$(this).val() ) {
                $(this).after(prompt);
                required = false;
            } else {
                $('.required-prompt', this).remove();
            }
        });
    return required;
}
谁能告诉我是否需要任何额外的步骤来确保如果验证返回“false”(目前确实如此),提交被停止。