## 數據提交
> 說明:
提交表單字段對應的值。
方法:`submit($callable)`
* 參數 **callable** (必須),為 callable 閉包。
```php
submit(function($data,$tab_data){...});
```
* 參數:
| 參數 | 類型 | 說明 |
| --- | --- | --- |
| $data | array | 驗證器驗證處理后的表單數據,key=>value形式數組 |
| $tab_data | array | 驗證器驗證處理后的表單數據分切換欄數組形式數組 |
* 返回值:\think\response\Json 類型
* 成功:`success_json()` 可攜帶參數返回
例:success_json(["reload"=>true]); // 來源表格或頁面刷新
說明:若表單頁面從表格構建器生成的表格中打開,則保存后會重新加載來源表格數據;若不是從表格構建器中打開,而是從其他頁面打開,并攜帶源頁面參數(方法:yunj.open_tab(title,url,true)或yunj.open_po(title,url,true)打開新頁面),則保存后會刷新來源頁面
提示:表格優先級大于頁面
* 失敗:`error_json()` 可攜帶失敗原因返回,例:
error_json("保存失敗");
> 示例
| 切換欄 | 字段 |
| --- | --- |
| 基礎 | `姓名` |
| 其他 | `性別` |
保存上述表單提交值。方法如下:
```php
$builder=YF('general_example')
->tab(["base"=>"基礎","other"=>"其他"])
->field(function($tab){
$field=[];
switch ($tab){
case 'base':
$field=[
'name'=>['title'=>'姓名','verify'=>'require|chs','desc'=>'只能輸入漢字']
];
break;
case 'other':
$field=[
'sex'=>[
'title'=>'性別',
'type'=>'radio',
'verify'=>'require|in:man,woman',
'options'=>["man"=>"男","woman"=>"女"]
]
];
break;
}
return $field;
})
->submit(function($data,$tab_data){
$currTime=time();
$insertData = [
'create_time'=>$currTime,
'update_time'=>$currTime
];
// 方式一:使用 data 參數
$insertData=[
'name'=>$data['name'],
'sex'=>$data['sex']
];
// 方式二:使用 tab_data 參數
$insertData=[
'name'=>$data["base"]['name'],
'sex'=>$data["other"]['sex']
];
// 保存數據
$res = Db::name('test')->insertGetId($insertData);
return $res?success_json(["reload"=>true]):error_json("添加失敗");
})
```
- 序言
- 基礎
- 下載安裝
- 配置
- 版本查看
- 控制器
- 使用說明
- 輸出構建器參數
- 視圖模板
- 使用說明
- 區塊重寫
- seo
- head_style
- head_script
- content
- script
- 驗證器
- TP驗證器
- 使用說明
- 自動處理
- 數據處理
- 前端驗證器
- 概述
- 調用示例
- 通用驗證規則
- 表單構建器
- 基礎示例
- 初始化
- 鏈式操作
- tab
- url
- field
- fieldValidate
- button
- load
- submit
- 渲染輸出
- 字段配置
- 使用說明
- 隱藏域(hidden)
- 文本框(text)
- 文本域(textarea)
- 密碼框(password)
- 富文本(editor)
- 文檔編輯(markdown)
- 下拉選框(select)
- 單選框(radio)
- 復選框(checkbox)
- 開關(switch)
- 日期(date)
- 時間日期(datetime)
- 年份(year)
- 月份(month)
- 時間(time)
- 單圖(img)
- 多圖(imgs)
- 單文件(file)
- 多文件(files)
- 取色器(color)
- 地區聯動(area)
- 下拉搜索(dropdown_search)
- 樹(tree)
- 自定義字段
- 單一字段調用
- 概述
- 示例
- 表格構建器
- 基礎示例
- 初始化
- 鏈式操作
- state
- url
- page
- limit
- limits
- filter
- filterValidate
- toolbar
- defaultToolbar
- import
- cols
- count
- items
- event
- 渲染輸出
- 表頭配置
- 使用說明
- 操作欄(action)
- 時間日期(datetime)
- 單圖(img)
- 多圖(imgs)
- 單文件(file)
- 多文件(files)
- 拖拽排序(drag_sort)
- 顏色呈現(color)
- 地區呈現(area)
- 枚舉(enum)
- 自定義表頭
- JS事件
- 異步事件監聽
- 導入構建器
- 基礎示例
- 初始化
- 鏈式操作
- sheets
- cols
- colsValidate
- limit
- tips
- row
- rows
- 渲染輸出
- 主題開發
- 實現步驟
- 系統主題
- 注意
- PHP公共方法庫
- 配置
- yunj_config
- 構建器
- YF
- YT
- YI
- 重定向
- url_tips
- redirect_tips
- throw_redirect
- 響應輸出
- response_msg
- response_json
- success_json
- error_json
- throw_json
- throw_success_json
- throw_error_json
- 數組
- array_eq
- array_in
- array_supp
- array_depth
- array_insert
- array_key_prefix
- 驗證
- is_mobile
- is_positive_integer
- is_json
- is_datetime
- is_md5_result
- 時間日期
- msectime
- 字符串
- rand_char
- filter_sql
- start_with
- exception_to_str
- JS公共方法庫
- 調用說明
- 數據類型
- varType
- 判斷
- isMobile
- isObj
- isEmptyObj
- isArray
- isEmptyArray
- isString
- isEmptyString
- isBool
- isNumber
- isFloat
- isUndefined
- isJson
- isCsv
- isXls
- isXlsx
- 字符串
- fileExt
- fileNameExt
- currTimestamp
- currDatetime
- timestampFormat
- 對象
- objSupp
- 圖片
- previewImg
- url
- url
- urlParam
- urlPushParam
- 頁面
- openNewPage
- openTab
- openPopup
- rawPageWin
- redirectTab
- redirectLogin
- isPopupPage
- isTabPage
- currPageId
- close
- closeCurr
- closeAll
- 網絡
- request
- 附錄
- 升級指導
- 更新日志