2011-07-09 22 views
0

私はプロジェクトに取り組んでおり、クライアント側の検証を行う必要があります。 私はonsubmit()メソッドを呼び出してすべてのバリデーションを行っています。どのようにクライアント側の検証の問題を解決するには?

私が直面している問題は、他のいくつかのステートメントをコメントに入れても、そうでない場合には、検証がうまく動作することです。

マイコード:

var speak1=document.forms["form"]["speak1"].value 
b = checkSpeakLanguages(speak1); 
if(b==false){ 
    return false; 
} 

checkSpeakLanguageを呼び出し正常に動作します。

var m= document.forms["form"]["maritalStatus"].value 
b = checkMaritalStatus(m); 
if(b==false){ 
    return false; 
} 

は私を助けてください:

しかし、次のコードは、上記のコメントに置かれている場合のみ動作します。もう一方のパートが存在するときに、第2パートがうまくいかない理由を教えてください。

+1

2ビットのコードは同じ関数にありますか?もしそうなら、 'checkSpeakLanguages'を呼び出した後に' b'の値は何ですか? 'false'の場合、関数は2番目のコードに到達する前に戻ります。 –

+0

コードは2つの異なる機能にあります – Sathya

答えて

3

最初のbがfalseを返した場合は、2番目の部分が実行される前に戻ります。サブミットハンドラの関数を次のように組み合わせてください。

function checkSubmit(){ 
    var cansubmit = true, 
     speak1 = document.forms["form"]["speak1"].value, 
     m   = document.forms["form"]["maritalStatus"].value; 
    if(!checkSpeakLanguages(speak1) || !checkMaritalStatus(m)) { 
     cansubmit = false; 
    } 
    return cansubmit; 
} 
関連する問題