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. bind ステートメントを削除し、私の質問の疑問符を関数に置き換えます

    <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 に答える