2012-01-27 158 views
0

我使用了jQuery插件ValidationEngine驗證一個表單;驗證本身工作得很好,但是完成後,它會在屏幕上放置一個JSON字符串,而不是像預期的那樣重定向到上一頁。下面是我使用的代碼:回調函數無法正常運行

調用驗證引擎:

<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"]] 

可有人請點我的問題在哪裏?

非常感謝

+0

什麼時候'formSubmit'被調用?正在提交表格時,該方法是交 – ShankarSangoli 2012-01-27 22:02:02

+0

@ShankarSangoli formSubmit被調用,即經由表單的action屬性。 – Argoron 2012-01-27 22:05:39

回答

0

此行爲是由jQuery驗證引擎所示,當你在你的JavaScript有錯誤,語法錯誤或其他。在你的beforeCall或你的ajaxValidationCallback中。

既然你看到的JSON,則調用全成,但隨後回調東西時出了錯在你的JavaScript作出返回調用頁面是不可能的。

檢查瀏覽器的錯誤JavaScript控制檯。