formSubmit.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>layui</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. </head>
  10. <body>
  11. <blockquote class="layui-elem-quote layui-text">
  12. 鉴于小伙伴的普遍反馈,先温馨提醒两个常见“问题”:1. <a href="/doc/base/faq.html#form" target="_blank">为什么select/checkbox/radio没显示?</a> 2. <a href="/doc/modules/form.html#render" target="_blank">动态添加的表单元素如何更新?</a>
  13. </blockquote>
  14. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
  15. <legend>表单集合演示</legend>
  16. </fieldset>
  17. <form class="layui-form" action="../TestAction/formSubmit">
  18. <div class="layui-form-item">
  19. <label class="layui-form-label">单行输入框</label>
  20. <div class="layui-input-block">
  21. <input type="text" name="userName" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
  22. </div>
  23. </div>
  24. <div class="layui-form-item">
  25. <div class="layui-inline">
  26. <label class="layui-form-label">范围</label>
  27. <div class="layui-input-inline" style="width: 100px;">
  28. <input type="text" name="price_min" placeholder="¥" autocomplete="off" class="layui-input">
  29. </div>
  30. <div class="layui-form-mid">-</div>
  31. <div class="layui-input-inline" style="width: 100px;">
  32. <input type="text" name="price_max" placeholder="¥" autocomplete="off" class="layui-input">
  33. </div>
  34. </div>
  35. </div>
  36. <div class="layui-form-item">
  37. <label class="layui-form-label">下拉列表</label>
  38. <div class="layui-input-inline" id="testSelect">
  39. </div>
  40. </div>
  41. <div class="layui-form-item">
  42. <label class="layui-form-label">复选框</label>
  43. <div class="layui-input-block" id="testCheckbox">
  44. </div>
  45. </div>
  46. <div class="layui-form-item">
  47. <label class="layui-form-label">单选框</label>
  48. <div class="layui-input-block" id="testRadio">
  49. </div>
  50. </div>
  51. <div class="layui-form-item layui-form-text">
  52. <label class="layui-form-label">普通文本域</label>
  53. <div class="layui-input-block">
  54. <textarea placeholder="请输入内容" class="layui-textarea"></textarea>
  55. </div>
  56. </div>
  57. <div class="layui-upload">
  58. <button type="button" class="layui-btn" id="uploadFileId">上传图片</button>
  59. <div class="layui-upload-list">
  60. <img class="layui-upload-img" id="imgDemo">
  61. <p id="demoText"></p>
  62. </div>
  63. </div>
  64. <div class="layui-input-block">
  65. <button class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>
  66. <button type="reset" class="layui-btn layui-btn-primary">重置</button>
  67. </div>
  68. </form>
  69. <script src="../js/min-loader.js"></script>
  70. <!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
  71. <script>
  72. // 上传文件
  73. layui.use('upload', function(){
  74. var $ = layui.jquery
  75. ,upload = layui.upload;
  76. //普通图片上传
  77. var uploadInst = upload.render({
  78. elem: '#uploadFileId'
  79. ,data:{fileFiledId:'imgDemo', MINView:'JSON',fileType:'00', size:5}
  80. ,field:'imgDemo'
  81. ,url: '..//FileManageAction/uploadFile'
  82. ,before: function(obj){
  83. //预读本地文件示例,不支持ie8
  84. obj.preview(function(index, file, result){
  85. $('#imgDemo').attr('src', result); //图片链接(base64)
  86. });
  87. }
  88. ,done: function(res){
  89. $.Alert("上传文件路径"+ res.fileUrl);
  90. //如果上传失败
  91. if(res.code > 0){
  92. return layer.msg('上传失败');
  93. }
  94. //上传成功
  95. }
  96. ,error: function(){
  97. //演示失败状态,并实现重传
  98. var demoText = $('#demoText');
  99. demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
  100. demoText.find('.demo-reload').on('click', function(){
  101. uploadInst.upload();
  102. });
  103. }
  104. });
  105. });
  106. layui.use(['form', 'layedit', 'laydate'], function() {
  107. var form = layui.form,
  108. layer = layui.layer,
  109. layedit = layui.layedit,
  110. laydate = layui.laydate;
  111. /* //日期
  112. laydate.render({
  113. elem: '#date'
  114. });
  115. laydate.render({
  116. elem: '#date1'
  117. });
  118. //创建一个编辑器
  119. var editIndex = layedit.build('LAY_demo_editor');
  120. //自定义验证规则
  121. form.verify({
  122. title: function(value) {
  123. if (value.length < 5) {
  124. return '标题至少得5个字符啊';
  125. }
  126. },
  127. pass: [/(.+){6,12}$/, '密码必须6到12位'],
  128. content: function(value) {
  129. layedit.sync(editIndex);
  130. }
  131. });
  132. //监听指定开关
  133. form.on('switch(switchTest)', function(data) {
  134. layer.msg('开关checked:' + (this.checked ? 'true' : 'false'), {
  135. offset: '6px'
  136. });
  137. layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是ON|OFF', data.othis)
  138. });
  139. */
  140. //监听提交
  141. form.on('submit(demo1)', function(data) {
  142. var param = data.field;
  143. $.request({
  144. action : "../TestAction/formSubmit",
  145. data : param,
  146. success : function(data) {
  147. // 跳转指定的页面
  148. layer.msg("哈哈" + JSON.stringify(data));
  149. }
  150. });
  151. return false;
  152. });
  153. });
  154. // 初始化基本下拉列表
  155. // initSelect('testSelect', "IM_BRANCH_STATE", "baranchStt");
  156. // 默认选择
  157. // initSelect('testSelect', "IM_BRANCH_STATE", "baranchStt", '1');
  158. // 可以搜索
  159. initSelect('testSelect', "IM_BRANCH_STATE", "baranchStt", '1', true);
  160. // 初始化复选框
  161. initCheckBox('testCheckbox', "IM_BRANCH_STATE", "checkBoxStt", '1');
  162. // 初始化单选框
  163. initRadio('testRadio', "IM_BRANCH_STATE", "radioStt", '1');
  164. </script>
  165. </body>
  166. </html>