Ingen beskrivning
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

theme_tplfile_add.htm 7.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. {include file="public/layout" /}
  2. <link rel="stylesheet" type="text/css" href="__SKIN__/js/codemirror/codemirror.css?v={$version}">
  3. <script type="text/javascript" src="__SKIN__/js/codemirror/codemirror.js?v={$version}"></script>
  4. <script type="text/javascript" src="__SKIN__/js/codemirror/mode/xml/xml.js?v={$version}"></script>
  5. <script type="text/javascript" src="__SKIN__/js/codemirror/mode/javascript/javascript.js?v={$version}"></script>
  6. <script type="text/javascript" src="__SKIN__/js/codemirror/mode/css/css.js?v={$version}"></script>
  7. <script type="text/javascript" src="__SKIN__/js/codemirror/mode/php/php.js?v={$version}"></script>
  8. <script type="text/javascript" src="__SKIN__/js/codemirror/mode/clike/clike.js?v={$version}"></script>
  9. <script type="text/javascript" src="__SKIN__/js/codemirror/mode/htmlmixed/htmlmixed.js?v={$version}"></script>
  10. <body style="background-color: #FFF; overflow: auto;min-width:auto;">
  11. <div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
  12. <div id="append_parent"></div>
  13. <div id="ajaxwaitid"></div>
  14. <div class="page" style="min-width:auto;box-shadow:none;">
  15. <form class="form-horizontal" id="post_form" action="{:url('Index/ajax_theme_tplfile_add')}" method="post">
  16. <div class="ncap-form-default">
  17. <dl class="row">
  18. <dt class="tit">模板目录</dt>
  19. <dd class="opt">
  20. {$tpldirpath}
  21. <span class="err"></span>
  22. <p class="notic"></p>
  23. </dd>
  24. </dl>
  25. <dl class="row {if condition="$type != 'welcome'"}none{/if}">
  26. <dt class="tit">
  27. <label for="theme_title"><em>*</em>模板名称</label>
  28. </dt>
  29. <dd class="opt" style="width: auto;">
  30. <input type="text" name="theme_title" placeholder="" id="theme_title" value="自定义名称" class="input-txt" autocomplete="off">
  31. <span class="err"></span>
  32. <p class="notic"></p>
  33. </dd>
  34. </dl>
  35. <dl class="row">
  36. <dt class="tit">
  37. <label for="url"><em>*</em>文件名称</label>
  38. </dt>
  39. <dd class="opt">
  40. {$type}_<input type="text" name="filename" value="custom" id="filename" placeholder="自定义" tabindex="2" onkeyup="this.value=this.value.replace(/[^\w\-]/g,'');" onpaste="this.value=this.value.replace(/[^\w\-]/g,'')" autocomplete="off">.htm
  41. <span class="err"></span>
  42. <p class="notic">只允许字母、数字、下划线、连接符的任意组合</p>
  43. <p class="red" id="txt_filename"></p>
  44. </dd>
  45. </dl>
  46. <dl class="row">
  47. <dt class="tit">
  48. <label for="content">HTML代码</label>
  49. </dt>
  50. <dd class="opt">
  51. <textarea name='content' id="content" style='width:99%;height:500px;background:#ffffff;' tabindex="3">{$content}</textarea>
  52. <span class="err"></span>
  53. <p class="notic"></p>
  54. </dd>
  55. </dl>
  56. <div class="bot">
  57. <input type="hidden" id="type" name="type" value="{$type}" />
  58. <a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn" tabindex="4">确认提交</a>
  59. </div>
  60. </div>
  61. </form>
  62. </div>
  63. <script type="text/javascript">
  64. var editor = '';
  65. $(function(){
  66. editor = CodeMirror.fromTextArea(document.getElementById('content'), {
  67. lineNumbers: true, // 显示行号
  68. lineWrapping: true, // 在行槽中添加行号显示器、折叠器、语法检测器`
  69. autofocus:true, //自动聚焦
  70. mode: 'text/html'
  71. });
  72. editor.setSize('auto','500px');
  73. $('#filename').keyup(function(){
  74. $.ajax({
  75. type: "POST",
  76. url: "{:url('Index/ajax_theme_tplfile_add', ['nosubmit'=>1,'_ajax'=>1])}",
  77. data: $('#post_form').serialize(),
  78. dataType: 'json',
  79. success: function (res) {
  80. if(res.code == 1){
  81. $('#txt_filename').html('');
  82. } else {
  83. $('#txt_filename').html(res.msg);
  84. }
  85. }
  86. });
  87. });
  88. });
  89. // 判断输入框是否为空
  90. function checkForm(){
  91. var type = $('#type').val();
  92. if ('welcome' == type) {
  93. if($('input[name=theme_title]').val() == ''){
  94. showErrorMsg('模板名称不能为空!');
  95. $('input[name=theme_title]').focus();
  96. return false;
  97. }
  98. }
  99. if($('input[name=filename]').val() == ''){
  100. showErrorMsg('文件名称不能为空!');
  101. $('input[name=filename]').focus();
  102. return false;
  103. }
  104. var content = editor.getValue();
  105. if(content == ''){
  106. showErrorMsg('HTML代码不能为空!');
  107. $('#content').focus();
  108. return false;
  109. }
  110. layer_loading('正在处理');
  111. var theme_title = $('#theme_title').val();
  112. $.ajax({
  113. type: "POST",
  114. url: "{:url('Index/ajax_theme_tplfile_add', ['_ajax'=>1])}",
  115. data: {filename:$('#filename').val(), content:content, type:type, theme_title:theme_title},
  116. dataType: 'json',
  117. success: function (res) {
  118. if(res.code == 1){
  119. parent.layer.closeAll();
  120. var html = '';
  121. var id = res.data.select_input_id;
  122. if ('login' == type) {
  123. html = '<option value="'+res.data.filename+'" selected="true">'+res.data.filename+'</option>';
  124. } else if ('welcome' == type) {
  125. html = '<span id="per_welcome_tplname_'+res.data.theme_id+'"><label class="theme_style_li curpoin"><input name="welcome_tplname" value="'+res.data.filename+'" data-theme_id="'+res.data.theme_id+'" type="radio" checked="checked"><span id="welcome_tplname_'+res.data.theme_id+'">'+res.data.theme_title+'</span></label>&nbsp;<a class="curpoin" title="编辑" href="javascript:void(0);" onclick="welcome_tplname_edit(this);" data-theme_id="'+res.data.theme_id+'"><i class="iconfont e-bianji"></i></a>&nbsp;&nbsp;</span>';
  126. }
  127. $('#'+id, window.parent.document).append(html);
  128. parent.layer.msg(res.msg, {icon: 1, time: 1000});
  129. return false;
  130. }else{
  131. layer.closeAll();
  132. if (res.data.focus) {
  133. $('#'+res.data.focus).focus();
  134. }
  135. layer.msg(res.msg, {icon: 2});
  136. return false;
  137. }
  138. },
  139. error:function(e){
  140. layer.closeAll();
  141. layer.alert(e.responseText, {icon: 2, title:false});
  142. }
  143. });
  144. }
  145. </script>
  146. {include file="public/footer" /}