2012-07-02 3 views
0

Symfony 사용 백엔드에서 양식을 만들었습니다. 양식을 저장하는 데 사용되는 제출 단추가 있습니다. 제출 버튼과 같은 양식 데이터를 보내야하는 양식에 다른 링크 (제출 버튼 외에)를 추가해야합니다. 이 링크를 통해 컨트롤러의 다른 방법을 통해 제출 된 데이터를 처리 할 것입니다.Symfony는 링크 제출시 양식 데이터를 sfRequest에 넣습니다.

나는 link_to('Link', '/backend_dev.php/question/edit?id='.$question->getId(), array('post' => true))link_to('Link', '/backend_dev.php/question/edit?id='.$question->getId(), array('method' => 'post'))을 시도했지만 이러한 함수는 양식 데이터를 보내지 않습니다.

형태의 action 속성을 변경하고 제출 링크에 onClick 이벤트와 컨트롤러

public function executeSave(sfWebRequest $request) 
{ 
    $this->form = new SomeForm(SomePeer::retrieveByPk($request->getParameter('id'))); 
    if($request->isMethod('post')) 
    { 
     $this->form->bind($request->getParameter('some'), $request->getFiles('some')); 
     if ($this->form->isValid()) 
     { 
      $some = $this->form->save(); 
      $this->redirect('some/edit?id='.$some->getId()); 
     } 
    } 
} 

public function executeLink(sfWebRequest $request) 
{ 
    // Like executeSave I need form data here 
} 
+0

왜 당신이 양식을 제출 링크를 원하십니까 : 링크를 가정하면 id를 myLink 양식의 ID myForm이있다? 제출 버튼의 역할은 ... – j0k

+0

두 가지 다른 방법으로 양식을 제출하고 제출 된 데이터를 처리하는 기능이 필요합니다. 그래서 하나의 제출 버튼을 사용하고 다른 하나를위한 제출 링크를 넣어보십시오. – mert

답변

3

사용 jQuery를.

$('#myLink').click(function(e){ 
    $('#myForm').attr('action','<?php echo '/backend_dev.php/question/edit?id='.$question->getId()?>'; 
    $('#myForm').submit(); 
    e.preventDefault(); 
});