3
$(document).ready(function(){
    jQuery("#bbSignup").validationEngine('attach', {
  onValidationComplete: function(form, status){
      if ( status == "true" ) {
$("#bbSignup").submit();
    $("#bbSignup").hide();
    $("#bbRegister").insertAfter("Form Submitted");
      } else {

      }
  }  
});
   });

如果我填写所有表格并点击提交,什么都不会发生。即使按多次也无济于事。有任何想法吗?

- -编辑 - -

我把它改成这样:

jQuery("#bbSignup").validationEngine('attach', {
onValidationComplete: function(form, status){
if ( status == "true" ) {
alert(" The status is " + status + " and will submit ");
} else {
alert(" The status is " + status + " and will not submit ");
}
}  
});

如果未填写任何内容,则 else 警报会正确触发。如果所有内容都已填写,则警报会显示“状态为真,不会提交”。所以这就像 if status == true 永远不会被调用..奇怪

4

4 回答 4

2

如果一个函数被分配给 onValidationComplete ,那么它会被执行而不是提交的表单,所以你的描述正是 jQuery-Validation-Engine 的设计目的。

在 jQuery-Validation-Engine 版本 2.6.4 之前,这是唯一的行为,从这个版本开始,您可以在 onValidationComplete 中返回 true 来告诉验证引擎继续提交表单。如果函数没有返回值,默认行为仍然是停止提交。

有关处理返回值的更改,请参阅https://github.com/posabsolute/jQuery-Validation-Engine/pull/442 。

于 2013-11-26T18:50:34.847 回答
1

这只是一个猜测,但你在询问status,就好像它拿着一根绳子。由于您正在测试字符串"true""false"但是,它似乎更有可能包含一个布尔值。

尝试简单

if (status) { //test it against the boolean true, not string "true"
于 2012-07-13T13:51:32.987 回答
0

试试这个...

<script>
  jQuery(document).ready( function() {
    jQuery("#formID").validationEngine('attach',{
     onValidationComplete: function(form, status){
      if (status == true){
       YourFunctionReload();
       // here :)
       return true;
      }}});
    });
</script>
于 2013-05-21T02:55:19.560 回答
0

请试试这个,希望它对你有用..

$('#formID').validationEngine('attach',{
    onValidationComplete: function(form, status){

        if (status == true){
            $("#formID").submit();
            return true;
        }

    }
});
于 2013-07-12T09:04:53.167 回答