2013-04-29 98 views
0

我有多個提交按鈕,如預覽和提交。我如何編碼它說如果我點擊預覽做這個或如果我點擊提交做到這一點。Kohana 3.2 ORM表單提交

我目前有以下設置:

if (HTTP_Request::POST == $this->request->method()): 
    try 
    { 
     $form->values($this->request->post()); 
    } 
    catch (ORM_Validation_Exception $ex) 
    { 
     $errors = $ex->errors('models'); 
    }  
endif; 

我不知道如何編寫代碼的時候告訴它,如果我點擊預覽或提交按鈕。

按鈕查看頁面上:

echo Form::button('preview', 'Preview', array('type' => 'submit', 'id' => 'preview-button')); 
echo Form::submit('submit', 'Submit', array('id' => 'submit-button')); 

回答

0

Kohana的

在Kohana的表單助手有按鈕,提交方法,他們都將接受第一個參數name屬性和第二屬性的值(提交按鈕)或屬性的值必須被顯式設置(對於按鈕標籤)作爲第三參數(查看文檔)。分配給name屬性的值將作爲$ _POST數組中的一個鍵出現,並且分配給value屬性的值將顯示爲$ _POST數組中的值(或者Kohana的$ this-> request-> post()這與$ _POST相同)。

http://kohanaframework.org/3.2/guide/api/Form#button http://kohanaframework.org/3.2/guide/api/Form#input

所以:

Form::submit('submit', 'Submit', array('id' => 'submit-button')); 

將出現在您的$這個 - >請求 - > post()方法爲:

$this->request->post() // contains array('submit' => 'Submit') 

PHP解釋:

<input name="something" type="submit" value="Submit!" /> 

它會出現在你的$ _POST數組:

$_POST['something'] // contains "Submit!" 
+0

謝謝!你知道爲什麼以下有一個空白值嗎? Form :: button('preview','Preview',array('type'=>'submit','id'=>'preview-button'));當我做$ _Post ['預覽']時,該值爲空。這個值是不是預覽? – markerpower 2013-04-29 08:12:44

+0

首先,$ _POST必須大寫。要查看設置了哪些屬性,只需var_dump($ _ POST)來檢查我知道的$ _POST – Daan 2013-04-29 09:25:41

+0

中是否設置了任何內容。輸入評論時是錯誤的。 [「預覽」] =>字符串(0)「」是預覽顯示的內容。爲什麼它是空白的? – markerpower 2013-04-29 13:10:08

0

做一個var_dump($this->request->post());。應該有一個屬性「提交=>預覽」或「提交=>提交」取決於您點擊哪個按鈕。

0

在你的控制器:

$post = $this->request->post(); 
if (isset($post['preview'])) 
{ 
    // Stuff for preview 
} 
if (isset($post['submit'])) 
{ 
    // Stuff for submit 
}