【问题标题】:Symfony put form data into sfRequest in link submissionSymfony 在链接提交中将表单数据放入 sfRequest
【发布时间】:2012-07-02 19:05:42
【问题描述】:

我使用 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
}

【问题讨论】:

  • 为什么要链接来提交表单?这是提交按钮的工作......
  • 我需要通过两种不同的方法提交表单和处理提交数据的功能。所以我为一个使用提交按钮,并尝试为另一个放置一个提交链接。

标签: symfony1 symfony-1.4 symfony-forms


【解决方案1】:

在链接上使用带有 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();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 2017-03-30
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    相关资源
    最近更新 更多