I've got a problem with replacing registration form when some errors occur. My form is rendered in bootstrap modal and validated using Zend controller action. When I submit not valid form it should be replaced with the same form but with errors displayed. Below is my code.
Zend action:
public function registerAction(){
$result = array("success" => true);
$view = new Zend_View();
$form = new Application_Form_DesktopUser_Register();
$view->form = $form;
$result["form"] = $form;
if($this->_request->isPost()){
if($form->isValid($this->_request->getPost())){
//Some code
}
else{
$result["success"] = false;
}
}
exit;
$this->_helper->json($result);
}
My JavaScript code:
<script type="text/javascript">
$(document).ready(function(){
$('body').on('submit', '#registerForm', function(event){
event.preventDefault();
$('.alert').remove();
$.ajax({
type: "POST",
url: $('#registerForm').attr('action'),
data: JSON.stringify($('#registerForm').serializeArray()),
dataType: 'json',
contentType: 'application/json',
success: function(data){
if(data["success"] == false){
$('#registerForm').html('error').show();
}
else{
}
},
error: function(data){
$('.formdiv').html($(data.form).html());
}
});
return false;
});
});