国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
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.

141 lines
6.0KB

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
  6. <title>添加自定义表单字段</title>
  7. <link rel="stylesheet" href="/static/web/css/font-awesome.min.css">
  8. <link rel="stylesheet" href="/static/web/css/bootstrap.min.css">
  9. <link rel="stylesheet" href="/static/web/css/admin.css">
  10. <script src="/static/web/js/jquery.min.js"></script>
  11. <script src="/static/web/js/bootstrap.min.js"></script>
  12. <script src="/static/web/js/admin.main.js"></script>
  13. </head>
  14. <body>
  15. <form name="form1" action="diy_field_add.php" method="post" onSubmit="return GetFields();">
  16. <input type="hidden" name="action" value="save">
  17. <input type="hidden" name="diyid" value="<?php echo $diyid?>">
  18. <input type="hidden" name="fieldstring">
  19. <table class="table shadow-sm my-3">
  20. <tr>
  21. <td colspan="2">自定义表单管理</a> - 自定义表单添加字段</td>
  22. </tr>
  23. <tr>
  24. <td colspan="2">
  25. <div class="alert alert-warning mb-0">修改文档模型字段时禁止输入单引号和双引号</div>
  26. </td>
  27. </tr>
  28. <tr>
  29. <td width="260">字段名称:</td>
  30. <td>
  31. <input type="text" name="itemname" id="itemname" class="admin-input-sm">
  32. <span>(发布时显示提示文字)</span>
  33. </td>
  34. </tr>
  35. <tr>
  36. <td>字段标识:</td>
  37. <td>
  38. <input type="text" name="fieldname" id="fieldname" class="admin-input-sm">
  39. <span>(只能用英文字母或数字,如果数据类型是联动类型,请填写联动类型组名称)</span>
  40. </td>
  41. </tr>
  42. <tr>
  43. <td>是否使用分页符:</td>
  44. <td>
  45. <input type="hidden" name="isnull" value="1">
  46. <label><input type="radio" name="spage" value="split"> 是</label>
  47. <label><input type="radio" name="spage" value="no" checked> 否</label>
  48. <span>(如果文档使用分页符,文档用#p#副标题#e#作为分页符实现文档分页,但仅允许一个字段)</span>
  49. </td>
  50. </tr>
  51. <tr>
  52. <td>数据类型:</td>
  53. <td>
  54. <div class="nw"><label><input type="radio" name="dtype" id="dtype1" value="text" checked> 单行文本(varchar)</label></div>
  55. <div class="nw"><label><input type="radio" name="dtype" id="dtype2" value="textchar"> 单行文本(char)</label></div>
  56. <div class="nw"><label><input type="radio" name="dtype" id="dtype3" value="multitext"> 多行文本</label></div>
  57. <div class="nw"><label><input type="radio" name="dtype" id="dtype4" value="htmltext"> 网页文本</label></div>
  58. <br class="cls">
  59. <div class="nw"><label><input type="radio" name="dtype" id="dtype6" value="int"> 整数类型</label></div>
  60. <div class="nw"><label><input type="radio" name="dtype" id="dtype7" value="float"> 小数类型</label></div>
  61. <div class="nw"><label><input type="radio" name="dtype" id="dtype8" value="datetime"> 时间类型</label></div>
  62. <div class="nw"><label><input type="radio" name="dtype" id="dtype13" value="select"> option下拉框</label></div>
  63. <br class="cls">
  64. <div class="nw"><label><input type="radio" name="dtype" id="dtype14" value="radio"> radio选项卡</label></div>
  65. <div class="nw"><label><input type="radio" name="dtype" id="dtype15" value="checkbox"> checkbox多选框</label></div>
  66. </td>
  67. </tr>
  68. <tr>
  69. <td>默认值:</td>
  70. <td>
  71. <p>(自定义字段数据类型为select、radio、checkbox时,下面填写数据,英文逗号隔开,如:DedeBIZ,得德)</p>
  72. <textarea name="vdefault" id="vdefault" class="admin-textarea-xl"></textarea>
  73. </td>
  74. </tr>
  75. <tr>
  76. <td>自定义网页表单:</td>
  77. <td>
  78. <p>(自定义网页表单用~name~表示提示文字,~form~表示表单元素)</p>
  79. <textarea name="vinnertext" id="vinnertext" class="admin-textarea-xl"></textarea>
  80. </td>
  81. </tr>
  82. <tr>
  83. <td>最大长度:</td>
  84. <td>
  85. <input type="text" name="maxlength" id="maxlength" value="255" class="admin-input-xs">
  86. <span>(文本数据必须填写,大于255为text类型)</span>
  87. </td>
  88. </tr>
  89. <tr>
  90. <td colspan="2" align="center">
  91. <button type="submit" class="btn btn-success btn-sm">保存</button>
  92. <button type="reset" class="btn btn-outline-success btn-sm">重置</button>
  93. </td>
  94. </tr>
  95. </table>
  96. </form>
  97. <script>
  98. var notAllow = "<?php echo $f;?>";
  99. function GetFields() {
  100. var theform = document.form1;
  101. var fieldname = theform.fieldname.value;
  102. var itemname = theform.itemname.value;
  103. var dtype = 'text';
  104. var enums = document.getElementsByName('dtype');
  105. for (i=0;i<enums.length;i++)
  106. {
  107. if (enums[i].checked) dtype = enums[i].value;
  108. }
  109. var isnull = theform.isnull.value;
  110. var vdefault = theform.vdefault.value;
  111. var maxlength = theform.maxlength.value;
  112. var vinnertext = theform.vinnertext.value;
  113. var spage = (theform.spage[0].checked ? theform.spage[0].value : theform.spage[1].value);
  114. var sisnull = (isnull==0 ? "false" : "true");
  115. if (itemname=="") {
  116. ShowMsg("表单提示名称不能为空");
  117. theform.itemname.focus();
  118. return false;
  119. }
  120. if (fieldname=="") {
  121. ShowMsg("字段名称不能为空");
  122. theform.fieldname.focus();
  123. return false;
  124. }
  125. if (notAllow.indexOf(" "+fieldname+" ") >-1 ) {
  126. ShowMsg("字段名称不合法,如下字段名已经存在,建议在名称后加上数字以区分:\n"+notAllow);
  127. return false;
  128. }
  129. if ((dtype=="radio" || dtype=="select" || dtype=="checkbox") && vdefault=="") {
  130. ShowMsg("您选择的select或radio、checkbox类型,必须默认值设置选择的项目(用英文逗号)");
  131. return false;
  132. }
  133. if (spage=="no") spage = '';
  134. revalue = "<field:"+fieldname+" itemname=\""+itemname+"\" autofield=\"1\" type=\""+dtype+"\" isnull=\""+sisnull+"\" default=\""+vdefault+"\" ";
  135. revalue += " maxlength=\""+maxlength+"\" page=\""+spage+"\">"+vinnertext+"</field:"+fieldname+">";
  136. document.form1.fieldstring.value = revalue;
  137. return true;
  138. }
  139. </script>
  140. </body>
  141. </html>