我有一个下拉表单,其中包含选项值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
的同一页面。参数。它适用于我需要的东西,但如果有人想添加答案,我会很感激!
答案 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