使用Symfony我在后端创建了一个表单。我有一个提交按钮,用于保存表单。我需要添加另一个链接(除了提交按钮)到应该发送表单数据的表单,如提交按钮。通过此链接,我将通过控制器中的另一种方法处理提交的数据。
我已尝试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'))
,但这些功能不会发送表单数据。
控制器
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 :(得分:3)
在链接上使用带有onClick事件的jQuery,它将更改表单的action
属性并提交它。假设该链接的ID为myLink
,且该格式为ID myForm
:
$('#myLink').click(function(e){
$('#myForm').attr('action','<?php echo '/backend_dev.php/question/edit?id='.$question->getId()?>';
$('#myForm').submit();
e.preventDefault();
});