0

$this->Form->create('MyModel', array('action' => 'view'))我有一个带有选项值 1、2 和 3 的下拉表单。当提交此表单时viewcontroller/view/option_value使用加载一些适当的数据option_value

我似乎无法将此option_value作为动作参数传递。这是一个 POST 数据,所以我option_value在控制器中确实可以使用它,但我认为在 URL 中包含该值也会很好,因为这view.ctp允许用户更新一些内容并且我希望用户被重定向到推荐人很容易。

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

编辑:仍在研究如何做到这一点.. 但现在,我只是将不包含在 URL 中的表单提交页面重定向到带有as 参数option_value的同一页面。option_value它可以满足我的需要,但是如果有人想添加答案,我将不胜感激!

4

1 回答 1

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));

?>

试试看,你可能需要根据自己的需要调整一些东西。干杯。-安德鲁

于 2013-03-26T00:58:46.483 回答