2

我正在使用 Jquery Validation Engine http://posabsolute.github.com/jQuery-Validation-Engine/ ,一旦发现表单有效,我只想显示一个隐藏的加载 gif 。

IE

  • 用户提交表单

  • 如果表单有效: $('#lulus-loading-div').show();

我试过这个,但没有运气:

我似乎没有运气实现 onSuccess() 回调函数。

我不怀疑它可以很好地工作,不幸的是我不知道正确的语法,并且对文档没有运气:/

目前我有:

jQuery(document).ready(function(){
        jQuery("#model-form").validationEngine({

           onSuccess: function(){
              $('#lulus-loading-div').show();
           });
        });

 });

这会在单个字段第一次验证时调用 onSuccess(),然后如果您尝试提交不完整的表单,它会在不标记错误的情况下提交。

任何帮助或建议将不胜感激:)

如果您需要更多详细信息,请告诉我。

4

3 回答 3

1

验证引擎没有任何东西(工作)来完成这样的任务。

假设您的表单使用页面重新加载 - 但也应该与基于 ajax 的无重新加载提交一起使用。

有一次我需要类似的东西,我写了一个快速的'n'dirty hack,它就是这样做的。

我使用版本 2.5.2

找到此代码(大约第 240-250 行)

form.trigger("jqv.form.result", [errorFound]);

就在它添加此代码之前:

if (options.jpAfterSuccessValidation && !errorFound) {
    options.jpAfterSuccessValidation();
}

在最底部,默认情况下,附加到(添加之后)“fadeDuration”

褪色持续时间:0.3,
jpAfterSuccessValidation: false //如果所有字段都验证,则启动回调

并像这样使用它:

jQuery("#model-form").validationEngine({
    jpAfterSuccessValidation:函数(){
    $('#lulus-loading-div').show(); //这将拉出你的信息对话框
    }
});

您的“lulus-loading-div”将保持可见,直到包含表单的页面重新加载(并且表单被提交)。

于 2012-10-23T01:29:05.807 回答
1

onSuccess 错误也报告在他们的 Git 上。以下是从https://github.com/posabsolute/jQuery-Validation-Engine/issues/554获取的关于 snnipet 的工作 :

$("#my_form").validationEngine('attach', { 
    onValidationComplete: function(form, status){ // when validate is on and the form scan is completed
        if (status == true) { // equiv to success everythings is OK
            // we disable the default from action to make our own action like alert or other function
            form.on('submit', function(e) {
                e.preventDefault();
            });

            // your function or your action

            alert("Successful! Now submitting");
            return true;
        } else {
            // we disable the default from action to make our own action like alert or other function
            form.on('submit', function(e) {
                e.preventDefault();
            });

            // your function or your action

            alert("Errors! Stopping Here");
        }
    },
    promptPosition : "topLeft", 
    scroll: false
});

希望,它可以帮助某人!

于 2014-01-14T18:36:39.100 回答
0

“快速 'n'clean 解决方案是这样做的:

$("#new_user").validationEngine("attach", {
  promptPosition: "topLeft",
  onFieldSuccess: function() {
    alert("rakoto");
  }
});

希望有帮助。;)

于 2014-01-13T15:13:55.413 回答