在jquery.validationEngine.js onValidationComplete之后调用函数

时间:2012-12-21 22:45:25

标签: jquery-validation-engine

我正在使用jquery.validationEngine,并将其用于我的注册和登录表单。我可以使用来自评论here的javascript来对密码字段进行哈希处理,然后再将其发送到服务器以进行额外的哈希并保存到数据库中。但是,我无法调用哈希脚本,然后让表单继续提交。有人能指出我正确的方向吗?

哈希剧本:

function formhash(form, password, p) {
p.value = hex_sha512(password.value);
password.value = "";

验证员的相关负责人:我无法弄清楚问号串的代码。我尝试了许多不同的组合,似乎无法得到它。验证有效,但如果验证通过,表单将提交而不运行我的formhash脚本。

<script>
jQuery(document).ready( function() {
    jQuery("#login").validationEngine('attach', 
    {onValidationComplete: function(form, status){
         if (status == true) {
             $("form#login").bind('submit', function(e) {
                  e.preventDefault();
              });
                   // your function or your action 
                   ???????????????????
              }
         }  
    });
</script>

2 个答案:

答案 0 :(得分:2)

好吧,我明白了,并且认为我会分享任何其他人学习所有这些。关于验证器的文档不多,尽管我的主要问题是javascript。注意,我希望验证器在出现错误时停止表单,如果验证通过,我的函数提交表单就可以了......

  1. 删除绑定语句并将问题中的问号替换为您的函数

    <script>
    jQuery(document).ready( function() {
    jQuery("#formID").validationEngine('attach',{
    onValidationComplete: function(form, status){
    if (status == true){
    YourFunction();}}});
    });
    </script>
    
  2. 使用DOM方法访问表单变量并提交表单,例如

    function YourFunction() {
    var password = document.getElementById("password");
    document.forms["formID"].submit();
    }
    

    为我工作。希望这有助于将来的某个人!

答案 1 :(得分:0)

是的Chris,onValidationComplete需要一个布尔值

你需要

$('#form1').validationEngine('attach', {
onValidationComplete: function(form, status){
    if (status) {                   
        startProgressBar();
        YouFunctionPreLoad();
        return true;

    }
}           
});