CakePHP 1.3:传递一个动作的参数

时间:2013-03-01 22:11:25

标签: php cakephp-1.3

我有一个下拉表单,其中包含选项值1,2和3.当提交此表单($this->Form->create('MyModel', array('action' => 'view')))时,我希望其中一个选项成为一个参数变量,并将其传递给行动view并转到controller/view/option_value,以便我可以使用option_value加载一些适当的数据。

我似乎无法将此option_value作为动作参数传递。这是一个POST数据,所以我在控制器中可以使用这个option_value,但我认为在URL中获取值也是一件好事,因为这个view.ctp允许用户更新一些我想让用户轻松地重定向到推荐人。

有什么想法吗?我认为这是一个客户端问题..但我还不熟悉Javascripts。

编辑: 仍然在研究如何做到这一点..但是现在,我只是将表单提交的页面(不包括URL中的option_value)重定向到option_value的同一页面。参数。它适用于我需要的东西,但如果有人想添加答案,我会很感激!

1 个答案:

答案 0 :(得分:0)

使用jQuery:

<?php

echo $this->Form->create('MyModel', array('id' => 'myForm', 'action' => 'view'));
echo $this->Form->input('MyField', array('id' => 'myField'));
echo $this->Html->scriptStart();
?>
    $('#myForm').on('submit', null, null, function(evt) {
        var form  = $('myForm'),
            field = $('#myField');

        form.action += "/" + field.value;
        form.submit();

        evt.stopPropagation();
    });
<?php
echo $this->Html->scriptEnd();
echo $this->Form->end(__('Submit', true));

?>

试试这个,你可能需要根据自己的需要调整一些东西。干杯。 -Andrew