German | English | Spanish | French | Hebrew | Hungarian | Indonesian | Italian | Japanese | Dutch | Norwegian | Polish | Portuguese | Portuguese (Brazilian) | Russian | Swedish | Ukrainian | Vietnamese | Simplified Chinese | Traditional Chinese
收集表格式輸入
有時我們想通過批量模式收集使用者輸入。也就是說, 使用者可以為多個模型實體輸入訊息並將它們一次性提交。 我們將此稱為 表格式輸入(tabular input) ,因為這些輸入項通常以 HTML 表格的形式呈現。
要使用表格式輸入,我們首先需要建立或填入一個模型實體陣列,取決於我們是想插入還是更新資料。
然後我們從 $_POST
變數中擷取使用者輸入的資料並將其賦值到每個模型。和單模型輸入稍有不同的一點就是:
我們要使用 $_POST['ModelClass'][$i]
擷取輸入的資料而不是使用 $_POST['ModelClass']
。
準備好了這個動作,我們需要繼續 batchUpdate
視圖的工作以在一個 HTML 表格中顯示輸入項目。
注意,在上面的程式碼中我們使用了 "[$i]name"
而不是 "name"
作為調用
CHtml::activeTextField 時的第二個參數。
如果有任何驗證錯誤,相應的輸入項將會自動高亮顯示,就像前面我們講解的單一模型輸入一樣。
$Id$