2012-03-16 22 views
0

入力によって収集されたデータの結果を表示します。ここで私がやったことはありますが、フィールドの塗りつぶしが終わってから機能しません。関数がtrueを返した後に動作しません。フォーム検証後の新しいHTMLページ

function checkValidation() 
    { 
    var valid = isValidName(); 
     if(valid) 
     valid = isValidEmail(); 
     if(valid) 
     valid = isValidPass(); 
     if(valid) 
     valid = isValidRadio(); 
     if(valid) 
     { 
     document.write(document.reg.name.value); 
     } 
     return valid; 
    } 

いただきました問題:

<form name ="reg" action ="" onsubmit ="return checkValidation(this)">//CODE... 

ここと呼ばれる機能がありますか?このデータで新しいページを開くにはどうすればよいですか? ありがとうございました!あなたと呼ばれる関数の

+0

提出することを忘れた場合は、 :) – Panagiotis

+0

@Panagiotis私は何もしていない場合、私は何もしていない場合は、実行する新しいHTMLを除いて、私は明らかにフォームを提出した – idish

+1

@Panagiotis彼はonsubmitを呼び出す、@ idishあなたはそれが真であれば偽を返す必要がありますページをリフレッシュし、何も印刷されません。 –

答えて

1

使用これを:あなたが実際にリターン偽でやっていること

function checkValidation() 
{ 
var valid = isValidName(); 
    if(valid) 
    valid = isValidEmail(); 
    if(valid) 
    valid = isValidPass(); 
    if(valid) 
    valid = isValidRadio(); 
    if(valid) 
    { 
    document.write(document.reg.name.value); 
    return false; 
    } 
    return valid; 
} 

は、onSubmit()イベントがaction = ""で定義されたページへの実際のサブミットを続行するためにtrueを返す必要があるため、サブミットイベントを取り消しています。

また、フロントエンド変数を処理した(または表示する)ことが虚偽を返す時点であることを考慮してください(これらの手順はブラウザで行われます)。実際のデータをサーバーに送る(リロードせずに同じページに置く)場合は、おそらくサーバー側のスクリプトにajax呼び出しを使用する必要があります。

+0

お手伝いをしていただきありがとうございます。返信前に別のdocument.write(...)を作成するとこのコードは機能しません。それはなぜあなたは私に説明することができればいいとにかく、私はあなたの答えを受け入れるよ、もう一度感謝! – idish

+0

本当ですか? document.write( "\ n" + document.reg.name.value);を入れます。戻り値falseの前に正常に動作しているかどうかを確認します。 – Panagiotis

0
function checkValidation() 
{ 
var valid = isValidName(); 
    if(valid) 
    valid = isValidEmail(); 
    if(valid) 
    valid = isValidPass(); 
    if(valid) 
    valid = isValidRadio(); 
    if(valid) 
    { 
    document.write(document.reg.name.value); 
    } 
    // here if valid is true then page will reload itself and 
    // document.write(document.reg.name.value); will not show any result 

    return valid; 
} 
+0

私は今問題を理解していますが、このコードをどこに置くべきですか? – idish

+0

エラーが発生した場合にのみ印刷する必要がありますか? –

関連する問題