0

使用 Symfony,我在后端创建了一个表单。我有一个提交按钮,用于保存表单。我需要向应该发送表单数据(如提交按钮)的表单添加另一个链接(除了提交按钮)。通过此链接,我将通过控制器中的另一种方法处理提交的数据。

我试过link_to('Link', '/backend_dev.php/question/edit?id='.$question->getId(), array('post' => true))and 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
}
4

1 回答 1

3

在链接上使用带有 onClick 事件的 jQuery,这将更改action表单的属性并提交它。假设链接有一个 idmyLink和形式一个 id myForm

$('#myLink').click(function(e){
    $('#myForm').attr('action','<?php echo '/backend_dev.php/question/edit?id='.$question->getId()?>';
    $('#myForm').submit();
    e.preventDefault();
});
于 2012-07-03T07:05:34.837 回答