Я хочу отправить эту форму без перезагрузки страницы (внутри самого модального). После проверки формы она должна перенаправляться на нужную страницу не после отправки формы , примечание: Я не хочу использовать AJAX спасибо. Вот изображение: ZF2-представление формы без перезагрузки страницы в самом модале, как показано на рисунке
вот что я попробовал ..
public function listAction()
{
if(!$user = $this->identity())
return $this->redirect()->toRoute('user',array('action'=>'login'));
$em = $this->getEntityManager();
$survey = new Survey();
$form = new SurveyForm();
$message="Create Survey";
$surveyList = $em->getRepository('Easysurvey\Entity\Survey')->findall();
$form->get('submit')->setValue('Save & Add Question');
$form->setHydrator(new DoctrineHydrator($em,'Easysurvey\Entity\Survey'));
$form->bind($survey);
//add new
$request = $this->getRequest();
if ($request->isPost()) {
$data = $request->getPost();
$form->setInputFilter(new SurveyFilter($this->getServiceLocator()));
$form->setData($data);
if ($form->isValid()) {
$this->prepareData($survey);
$this->flashMessenger()->addSuccessMessage('succesfully created');
$em->persist($survey);
$em->flush();
return $this->redirect()->toRoute('survey', array('action' => 'list'));
}
}
}
return array('form' => $form,
'surveyList' => $surveyList,
'message' => $message
);
}
list.phtml:
<!-- Create Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel"><?php echo $message?></h4>
</div>
<div class="modal-body">
<?php
$form->setAttribute('action', $this->url('survey', array('action' => 'list')),'class','form-horizontal');
$form->prepare();
echo $this->form()->openTag($form);
echo $this->formHidden($form->get('id'));
echo $this->formRow($form->get('name'));
echo '<br />';
echo $this->formRow($form->get('description'));
echo '<br />';
echo $this->formRow($form->get('startdate'));
echo '<br />';
echo $this->formRow($form->get('enddate'));
echo '<br />';
echo $this->formRow($form->get('createdby'));
echo '<br />';
echo $this->formSubmit($form->get('submit'));
echo $this->form()->closeTag();
?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close </button>
</div>
</div>
</div>
Это здорово, дайте нам знать, если у вас возникли какие-либо проблемы с тем, что вы уже пробовали. – Daedalus
Когда я нажимаю кнопку отправки, она перенаправляется, поэтому модаль уходит. Я хочу сохранить модальную форму до тех пор, пока моя форма не будет проверена. –
Покажите нам, что вы пробовали. SO - это не бесплатная работа. – Daedalus