🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 数据提交 > 说明: 提交表单字段对应的值。 方法:`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("添加失败"); }) ```