1

我正在使用jquery.validationEngine 并让它在我的注册和登录表单上工作。在将密码字段发送到服务器以进行额外的哈希处理并保存到数据库之前,我可以使用源自此处评论的 javascript 对密码字段进行哈希处理。但是,我无法调用散列脚本然后让表单继续提交。谁能指出我正确的方向?

哈希脚本:

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

Validator 的相关负责人:我只是不知道用什么来代替一串问号。我尝试了许多不同的组合,但似乎无法得到它。验证有效,但如果验证通过,表单会在不运行我的 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>
4

2 回答 2

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();
    }
    

    为我工作。希望这对将来的人有所帮助!

于 2012-12-24T01:20:46.760 回答
0

是的,克里斯,onValidationComplete 需要一个布尔值

你需要

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

    }
}           
});
于 2013-05-21T02:48:28.197 回答