2012-01-27 32 views
0

jQuery ValidationEngineプラグインを使用してフォームを検証しています。検証自体はうまくいきますが、完了すると、期待通りに前のページにリダイレクトするのではなく、JSON文字列が画面に表示されます。検証エンジンのjquery検証エンジンのコールバック関数が正常に動作しない

コール:ここで私が使用しているコードだ

<script> 
    $(function() { 
     $("#newForm").validationEngine('attach', { 
      ajaxFormValidation: true, 
      onAjaxFormComplete: urlValidationCallback, 
      onBeforeAjaxFormValidation: deleteAllPrompts 
     }); 
    }); 
</script> 

function urlValidationCallback(status, form, json, options){ 

    if (status === true) { 
     goToURL(json[0][2]); 
    } 
} 

function formSubmit(){ 
... 
if ($success) {   
     $successArray = array(); 
     array_push($successArray, 'newForm'); 
     array_push($successArray, true); 
     array_push($successArray, "/albums/view/" . $album->id); 
     array_push($arrayToJs, $successArray); 
    } 
echo json_encode($arrayToJs); 
} 

は、しかし、その代わりに搭載の「/アルバム/ビュー/ ...」、画面がブランクになると次のように表示されます

[["newForm",true,"\/albums\/view\/13"]] 

問題がどこにあるのか教えていただけますか?

おかげで、あなたのJavaScriptでエラー、構文または他のを持っているときに、非常に多くの

+0

'formSubmit'はいつ呼び出されますか? – ShankarSangoli

+0

@ShankarSangoli formSubmitは、フォームが送信されるとき、つまりフォームのaction属性を使用してポストされているときに呼び出されます。 – Argoron

答えて

0

この動作は、jQueryの検証エンジンによって示されています。あなたのbeforeCallまたはあなたのajaxValidationCallbackで。

jsonが表示されているので、コールバックは成功しましたが、コールバック中に呼び出しページに戻ることが不可能なjavascriptで何かが間違っていました。

ブラウザのjavascriptコンソールでエラーがないか確認してください。

関連する問題