FormBuilder.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. *
  4. * @author: xaboy<365615158@qq.com>
  5. * @day: 2017/11/23
  6. */
  7. namespace service;
  8. use FormBuilder\Form;
  9. class FormBuilder extends Form
  10. {
  11. /**
  12. * 快速创建POST提交表单
  13. * @param $title
  14. * @param array $field
  15. * @param $url
  16. * @param $jscallback null 不执行 1 父级刷新 2 父级刷新关闭弹框 str 自定义
  17. * @return $this
  18. */
  19. public static function make_post_form($title,array $field,$url,$jscallback = 1){
  20. $form = Form::create($url);//提交地址
  21. $form->setMethod('POST');//提交方式
  22. $form->components($field);//表单字段
  23. $form->setTitle($title);//表单标题
  24. $js = '';//提交成功不执行任何动作
  25. switch ($jscallback){
  26. case 1:
  27. $js = 'parent.$(".J_iframe:visible")[0].contentWindow.location.reload();';//提交成功父级页面刷新
  28. break;
  29. case 2:
  30. $js = 'parent.$(".J_iframe:visible")[0].contentWindow.location.reload(); setTimeout(function(){parent.layer.close(parent.layer.getFrameIndex(window.name));},2000);';//提交成功父级页面刷新并关闭当前页面
  31. break;
  32. default:
  33. $js = $jscallback;
  34. break;
  35. }
  36. $form->setSuccessScript($js);//提交成功执行js
  37. return $form;
  38. }
  39. }