2011-11-09 9 views
0

以下の問題があります。私はajax/jqueryバリデーションのフォームを作成しました。バリデーション中に問題が発生した場合、検証は正常に機能します。エラーメッセージが表示されます。しかし、問題はです。何かが「OK」であれば、入力を提出しません。提出した後に仕事がありません。ajax/jqueryのバリデーション

私のjsコード;

ValidateAjax = { 

    initialize: function(formid, endpoint){ 
     end_url = endpoint; 
     form_id = '#'+formid; 

     $('form').submit(function(){ 
      var formElementID = $(form_id+' input').attr('id'); 
      $('.loader').hide(); 
      var check = ValidateAjax.doValidate(formElementID); 
      return false; 
     }) 
    }, 

    doValidate: function(id){ 
     $('.loader').show(); 
     var url = end_url; 
     var data = $(form_id).serialize(); 
     $.post(url,data,function(response){ 
      $('#'+id).parent().find('.errors').remove(); 
      if (response[id]) 
       $('#'+id).parent().append(ValidateAjax.getHTML(response[id])); 
     },'json'); 
    }, 

    getHTML: function(errArray){ 
     $('.loader').hide(); 
     var o = '<ul class="errors">'; 
     $.each(errArray,function(key,value){ 
      o+='<li>'+ value+'</li>'; 
     }); 
     o+='</ul>'; 
     return o; 
    }     

}

マイインデックス図です。

<? echo $this->form; ?> 

public function validateformAction() 
{ 
     $this->_helper->layout()->disableLayout(); 
     $form = new Application_Form_Add(); 
     $form->isValidPartial($_POST); 
     $this->_helper->json($form->getMessages()); 
} 

public function indexAction() 
{ 

    $form     = new Application_Form_Add(); 
    $this->view->form  = $form; 

    // submit new blog - Validated by ajax 
    if ($this->_request->isPost()) { 
     if ($form->isValid($_POST)) { 
      $data = $form->getValues(); 
      //do something 
      $this->_redirect('/wall/'); 
     } 
    } 
} 

誰かが私を助けてくれることを願っています。種類に関しては

、 ニック

答えて

0

あなたはいつも提出コールから「false」に戻ってきています。 検証エラーがなければ 'true'を返す必要があります。

関連する問題