diyform_post.html 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. {layout name="common/layout" /}
  2. <link rel="stylesheet" href="__CDN__/assets/libs/toastr/toastr.min.css">
  3. <link rel="stylesheet" href="__CDN__/assets/libs/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css">
  4. <link rel="stylesheet" href="__CDN__/assets/libs/bootstrap-daterangepicker/daterangepicker.css">
  5. <link rel="stylesheet" href="__CDN__/assets/libs/nice-validator/dist/jquery.validator.css">
  6. <link rel="stylesheet" href="__CDN__/assets/libs/fastadmin-selectpage/selectpage.css">
  7. <link rel="stylesheet" href="__CDN__/assets/libs/bootstrap-select/dist/css/bootstrap-select.min.css">
  8. <style>
  9. #post-form .input-group-addon {
  10. background: none;
  11. }
  12. #post-form .panel-default {
  13. padding: 0;
  14. }
  15. #post-form input.form-control, #post-form textarea.form-control {
  16. border-radius: 2px;
  17. }
  18. .faupload-preview li {
  19. margin-top: 15px;
  20. }
  21. .input-group > .msg-box.n-right {
  22. position: absolute;
  23. }
  24. .layui-layer-confirm {
  25. display: none;
  26. }
  27. @media (max-width: 767px) {
  28. .n-bootstrap .col-xs-12 > .n-right .msg-wrap {
  29. margin-right: 15px;
  30. }
  31. .n-bootstrap .n-right {
  32. margin-top: 0;
  33. top: -20px;
  34. position: absolute;
  35. left: 0;
  36. text-align: right;
  37. width: 100%;
  38. }
  39. .n-bootstrap .n-right .msg-wrap {
  40. position: relative;
  41. }
  42. }
  43. </style>
  44. {if $Think.get.noframe}
  45. <style>
  46. header, footer, .main-content:after {
  47. display: none;
  48. }
  49. body {
  50. padding-top: 0 !important;
  51. }
  52. main.main-content {
  53. padding-bottom: 0;
  54. }
  55. .article-metas, .article-metas + hr {
  56. display: none;
  57. }
  58. #content-container {
  59. width: 100%;
  60. }
  61. #content-container > .row > .col-md-12 > .panel-default {
  62. margin-bottom: 0;
  63. }
  64. </style>
  65. {/if}
  66. <!--@formatter:off-->
  67. <script type="text/javascript">
  68. var require = {
  69. config: {$jsconfig|json_encode}
  70. };
  71. </script>
  72. <!--@formatter:on-->
  73. <div class="container" id="content-container">
  74. <div class="row">
  75. <div class="col-md-12">
  76. <div class="panel panel-default">
  77. <div class="panel-body">
  78. <section class="article-content">
  79. <div class="article-metas text-center">
  80. <h1 class="metas-title">
  81. {$__DIYFORM__['posttitle']}
  82. </h1>
  83. </div>
  84. <hr>
  85. <div class="py-4">
  86. <!-- S 正文 -->
  87. <div class="row">
  88. <div class="col-xs-12 col-md-8 col-md-offset-2">
  89. <form id="post-form" class="form-horizontal" role="form" data-toggle="validator" method="POST">
  90. <input type="hidden" name="__diyname__" value="{$__DIYFORM__['diyname']}">
  91. {:token()}
  92. {cms:diyform name="fieldslist" /}
  93. {if $__DIYFORM__->iscaptcha}
  94. <div class="form-group">
  95. <div class="control-label col-xs-12 col-sm-2">验证码</div>
  96. <div class="col-xs-12 col-sm-8">
  97. <a href="javascript:" class="hidden" data-event data-url></a>
  98. <div class="input-group">
  99. <input type="text" name="captcha" id="c-captcha" class="form-control" data-rule="required;length({$Think.config.captcha.length})"/>
  100. <span class="input-group-btn" style="padding:0;border:none;">
  101. <img src="{:captcha_src()}" width="100" height="31" onclick="this.src = '{:captcha_src()}?r=' + Math.random();"/>
  102. </span>
  103. <span class="msg-box n-right" for="c-captcha"></span>
  104. </div>
  105. </div>
  106. </div>
  107. {/if}
  108. <div class="form-group normal-footer">
  109. <label class="control-label col-xs-12 col-sm-2"></label>
  110. <div class="col-xs-12 col-sm-8 text-center">
  111. <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
  112. <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
  113. </div>
  114. </div>
  115. </form>
  116. </div>
  117. </div>
  118. <!-- E 正文 -->
  119. </div>
  120. <div class="clearfix"></div>
  121. </section>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. <script data-render="script">
  128. $(function () {
  129. //避免Bootstrap和RequireJS中引入的Bootstrap事件冲突
  130. $(document).off('click.bs.dropdown.data-api');
  131. });
  132. require.callback = function () {
  133. define('diyform/index', ['jquery', 'bootstrap', 'frontend', 'form'], function ($, undefined, Frontend, Form) {
  134. var Controller = {
  135. index: function () {
  136. Layer.config({focusBtn: false});
  137. Form.api.bindevent($("form[role=form]"), function (data, ret) {
  138. Layer.alert(ret.msg, {
  139. end: function () {
  140. location.href = ret.url;
  141. }
  142. });
  143. return false;
  144. });
  145. }
  146. };
  147. return Controller;
  148. });
  149. }
  150. </script>
  151. <script data-render="script" src="__CDN__/assets/js/require{$Think.config.app_debug?'':'.min'}.js" data-main="__CDN__/assets/js/require-frontend{$Think.config.app_debug?'':'.min'}.js?v={$site.version}"></script>