javascript - 当按钮位于表单之外时,jQuery 验证不起作用

标签 javascript jquery cordova validation

我遇到一个问题,当提交按钮放置在表单标签之外时(这是我的 Cordova 移动应用程序所必需的),jQuery 验证无法正常工作。一旦调用 .validate,执行就会停止。

我的 HTML 是这样设置的:

<form id="form-cart" >
  // All form fields here
</form>

<ons-bottom-toolbar>
  <button class="button" onclick="addToBasket();" data-trn-key="add_to_basket">
  Add to Basket
  </button>
</ons-bottom-toolbar>

然后该函数被调用为:

function addToBasket()
{   
    $.validate({    
        form : '#form-cart',    
        borderColorOnError:"#FF0000",
        onError : function() {    
        },      
        onSuccess : function() {  
        // Run ajax on success
              } 
            };   
            sNavigator.pushPage("confirmation.html", options);             
           return false;
        }  
    });
}

如何才能使其正常工作,以便即使按钮位于表单标记之外也能验证并调用 ajax?

最佳答案

根据jQuery验证插件documentation有两种不同的方法:

validate() – 验证所选表单。

valid() – 检查所选表单或所选元素是否有效。

因此,您应该在函数外部使用 .validate 方法设置表单验证,并检查函数内部表单是否有效(请参阅下面的代码示例):

$('#form-cart').validate({    

});

function addToBasket() {   
    if ($('#form-cart).valid()) 
        //do you onSuccess stuff
    }
}

关于javascript - 当按钮位于表单之外时,jQuery 验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45911723/

相关文章:

javascript - 为 span 标签内的 href 指定行数

jquery - 鼠标悬停时更改 DIV 的内容颜色

android - phonegap 3.3.0 中的本地通知

angular - PayPal ionic 提供商

javascript - 禁用移动屏幕尺寸的 div?

javascript - 从 VS2008 IDE 预编译 JavaScript

javascript - 使用Javascript制作按钮,制作新的Javascript

javascript - Cordova插件后台模式: onactivate is not working the first time (android)

javascript - Wasm : Uncaught (in promise) TypeError: Import #0 module ="env" error: module is not an object or function Promise. 然后(异步)(匿名)@(索引):9

javascript - 在 jQuery 的嵌套列表中选择没有子项的列表项父项