2013-03-01 29 views
0

我有一個帶有選項值1,2和3的下拉表單。當這個表單被提交時($this->Form->create('MyModel', array('action' => 'view'))),我希望這些選項之一是一個參數變量它會傳入view並轉到controller/view/option_value,以便我可以使用option_value加載一些適當的數據。CakePHP 1.3:爲一個動作傳遞一個參數

我似乎無法將此option_value作爲動作參數傳遞。這是一個POST數據,所以我在控制器中有這個option_value可用,但我認爲在URL中具有值也是很好的,因爲view.ctp允許用戶更新一些內容,並且我希望用戶成爲輕鬆地重定向到推薦人。

任何想法?我認爲這是一個客戶端問題..但我還不熟悉Javascripts。

編輯: 仍在調查如何做到這一點..但現在,我只是重定向表單提交頁面,其中不包括在URL中option_value,在同一頁與option_value作爲參數。它適用於我所需要的,但如果有人想添加答案,我會很感激!

回答

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