国内流行的内容管理系统(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.

259 lines
9.3KB

  1. <!-- //主模板必须要引入{dede:global.cfg_cmsurl/}/include/dedeajax2.js -->
  2. <a name='postform'></a>
  3. <div class="mt1">
  4. <dl class="tbox">
  5. <dt> <strong>发表评论</strong> <span class="more"></span> </dt>
  6. <dd>
  7. <div class="dede_comment_post">
  8. <form action="#" method="post" name="feedback" onsubmit="return false;">
  9. <input type="hidden" name="dopost" value="send" />
  10. <input type="hidden" name="comtype" value="comments">
  11. <input type="hidden" name="aid" value="{dede:field name="id"/}" />
  12. <input type="hidden" name="fid" id='feedbackfid' value="0" />
  13. <div class="dcmp-title"> <small>请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。</small> </div>
  14. <!-- /dcmp-title -->
  15. <div class="dcmp-stand"> <strong>评价:</strong>
  16. <input type="radio" name="feedbacktype" checked="1" value="feedback" id="dcmp-stand-neu" />
  17. <label for="dcmp-stand-neu"><img src="{dede:global.cfg_templets_skin/}/images/cmt-neu.gif" />中立</label>
  18. <input type="radio" name="feedbacktype" value="good" id="dcmp-stand-good" />
  19. <label for="dcmp-stand-good"><img src="{dede:global.cfg_templets_skin/}/images/cmt-good.gif" />好评</label>
  20. <input type="radio" name="feedbacktype" value="bad" id="dcmp-stand-bad" />
  21. <label for="dcmp-stand-bad"><img src="{dede:global.cfg_templets_skin/}/images/cmt-bad.gif" />差评</label>
  22. </div>
  23. <!-- /dcmp-stand -->
  24. <div class="clr"></div>
  25. <div class="dcmp-content">
  26. <script type="text/javascript">
  27. //<![CDATA[
  28. window.CKEDITOR_BASEPATH='{dede:global.cfg_cmsurl/}/include/ckeditor/';
  29. //]]>
  30. </script>
  31. <script type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/ckeditor/ckeditor.js?t=B8DJ5M3"></script>
  32. {dede:php}
  33. GetEditor('msg','',100,'Feedback','print','false',true);
  34. {/dede:php} </div>
  35. <!-- /dcmp-content -->
  36. <div class="dcmp-post">
  37. <!--未登陆-->
  38. <div class="dcmp-userinfo" id="_ajax_feedback"> {dede:php}
  39. if($cfg_mb_open=='Y') {
  40. echo '用户名:
  41. <input type="text" name="username" size="16" class="ipt-txt" style="text-transform: uppercase;"/>
  42. ';
  43. }
  44. {/dede:php}
  45. {dede:php}
  46. if(preg_match("/4/",$safe_gdopen)){
  47. echo '验证码:
  48. <input type="text" name="validate" size="4" class="ipt-txt" style="text-transform:uppercase;"/>
  49. <img src= "'.$cfg_cmspath.'/plus/vdimgck.php" id="validateimg" style="cursor:pointer" onclick="this.src=this.src+\'?\'" title="点击我更换图片" alt="点击我更换图片" class="vdimg"/>';
  50. }
  51. {/dede:php}
  52. <input type="checkbox" name="notuser" id="dcmp-submit-guest" />
  53. <label for="dcmp-submit-guest" />
  54. 匿名?
  55. </label>
  56. </div>
  57. {dede:php}
  58. if($cfg_mb_open=='Y') {
  59. echo '
  60. <script language="javascript" type="text/javascript">CheckLogin();</script>
  61. ';
  62. }
  63. {/dede:php}
  64. <div class="dcmp-submit">
  65. <button type="button" onClick='PostComment()'>发表评论</button>
  66. </div>
  67. </div>
  68. </form>
  69. </div>
  70. </dd>
  71. </dl>
  72. </div>
  73. <!-- //评论表单区结束 -->
  74. <!-- //评论内容区 -->
  75. <a name='commettop'></a>
  76. <div class="mt1">
  77. <dl class="tbox">
  78. <dt> <strong>最新评论</strong> <span class="more"><a href="{dede:field name='phpurl'/}/feedback.php?aid={dede:field.id/}">进入详细评论页&gt;&gt;</a></span> </dt>
  79. <!-- //这两个ID的区块必须存在,否则JS会出错 -->
  80. <dd id='commetcontentNew'></dd>
  81. <dd id='commetcontent'></dd>
  82. </dl>
  83. </div>
  84. <!--
  85. //由于评论载入时使用异步传输,因此必须在最后一步加载(DIGG和评论框须放在评论内容前面)
  86. //如果一定需要提前的把myajax.SendGet改为myajax.SendGet2,但可能会引起页面阻滞
  87. -->
  88. <script language='javascript'>
  89. function LoadCommets(page)
  90. {
  91. var taget_obj = document.getElementById('commetcontent');
  92. var waithtml = "<div style='line-height:50px'><img src='{dede:global.cfg_cmsurl/}/images/loadinglit.gif' />评论加载中...</div>";
  93. var myajax = new DedeAjax(taget_obj, true, true, '', 'x', waithtml);
  94. myajax.SendGet2("{dede:global.cfg_phpurl /}/feedback_ajax.php?dopost=getlist&aid={dede:field.id/}&page="+page);
  95. DedeXHTTP = null;
  96. }
  97. function PostComment()
  98. {
  99. var f = document.feedback;
  100. var msg = CKEDITOR.instances.msg.getData();
  101. var nface = '6';
  102. var nfeedbacktype = 'feedback';
  103. var nvalidate = '';
  104. var nnotuser = '';
  105. var nusername = '';
  106. var npwd = '';
  107. var taget_obj = $DE('commetcontentNew');
  108. var waithtml = "<div style='line-height:30px'><img src='{dede:global.cfg_cmsurl/}/images/loadinglit.gif' />正在发送中...</div>";
  109. if(msg=='')
  110. {
  111. alert("评论内容不能为空!");
  112. return;
  113. }
  114. if(f.validate)
  115. {
  116. if(f.validate.value=='') {
  117. alert("请填写验证码!");
  118. return;
  119. }
  120. else {
  121. nvalidate = f.validate.value;
  122. }
  123. }
  124. if(msg.length > 500)
  125. {
  126. alert("你的评论是不是太长了?请填写500字以内的评论。");
  127. return;
  128. }
  129. if(f.feedbacktype) {
  130. for(var i=0; i < f.feedbacktype.length; i++)
  131. if(f.feedbacktype[i].checked) nfeedbacktype = f.feedbacktype[i].value;
  132. }
  133. /*
  134. if(f.face) {
  135. for(var j=0; j < f.face.length; j++)
  136. if(f.face[j].checked) nface = f.face[j].value;
  137. }
  138. */
  139. if(f.notuser.checked) nnotuser = '1';
  140. if(f.username) nusername = f.username.value;
  141. if(f.pwd) npwd = f.pwd.value;
  142. var myajax = new DedeAjax(taget_obj, false, true, '', '', waithtml);
  143. myajax.sendlang = '{dede:global.cfg_soft_lang/}';
  144. myajax.AddKeyN('dopost', 'send');
  145. myajax.AddKeyN('aid', '{dede:field.id/}');
  146. myajax.AddKeyN('fid', f.fid.value);
  147. myajax.AddKeyN('face', nface);
  148. myajax.AddKeyN('feedbacktype', nfeedbacktype);
  149. myajax.AddKeyN('validate', nvalidate);
  150. myajax.AddKeyN('notuser', nnotuser);
  151. myajax.AddKeyN('username', nusername);
  152. myajax.AddKeyN('pwd', npwd);
  153. myajax.AddKeyN('msg', msg);
  154. myajax.SendPost2('{dede:global.cfg_phpurl/}/feedback_ajax.php');
  155. //msg = '';
  156. CKEDITOR.instances.msg.setData('');
  157. //taget_obj.removeAttribute('id');
  158. f.fid.value = 0;
  159. if(f.validate)
  160. {
  161. if($DE('validateimg')) $DE('validateimg').src = "{dede:global.cfg_cmsurl/}/plus/vdimgck.php?"+f.validate.value;
  162. f.validate.value = '';
  163. }
  164. }
  165. function quoteCommet(fid)
  166. {
  167. document.feedback.fid.value = fid;
  168. }
  169. function ajaxFeedback(aid, fid, type)
  170. {
  171. var taget_obj = $DE('ajaxfeedback_'+fid);
  172. if(taget_obj.innerHTML == '')
  173. {
  174. var myajax = new DedeAjax(taget_obj, true, true, '', 'x');
  175. myajax.SendGet2("{dede:global.cfg_phpurl /}/feedback.php?aid="+aid+"&fid="+fid+"&action=quote&type=ajax");
  176. eval('var result = typeof CKEDITOR.instances.msg_'+fid);
  177. if(result != 'undefined')
  178. {
  179. // 删除实例
  180. eval('var edit = CKEDITOR.instances.msg_'+fid);
  181. CKEDITOR.remove(edit);
  182. }
  183. CKEDITOR.replace(document.getElementById('msg_'+fid) , CKEDITOR.instances.msg.config);
  184. scroll(0, taget_obj.offsetTop - 120);
  185. var formname = 'f = document.ajaxfeedback_'+fid;
  186. eval(formname);
  187. if(f.validate)
  188. {
  189. if($DE('vdimg_'+fid)) $DE('vdimg_'+fid).src = "{dede:global.cfg_cmsurl/}/plus/vdimgck.php?"+f.validate.value;
  190. f.validate.value = '';
  191. }
  192. DedeXHTTP = null;
  193. }
  194. }
  195. function ajaxQuotePost(fid)
  196. {
  197. var formname = 'f = document.ajaxfeedback_'+fid;
  198. eval(formname);
  199. //var f = document.formname;
  200. //var f = f[0];
  201. var nvalidate = '';
  202. var nnotuser = '';
  203. var nusername = '';
  204. var npwd = '';
  205. var taget_obj = $DE('commetcontentNew');
  206. var waithtml = "<div style='line-height:30px'><img src='{dede:global.cfg_cmsurl/}/images/loadinglit.gif' />正在发送中...</div>";
  207. eval('var msg = CKEDITOR.instances.msg_'+fid+'.getData()');
  208. if(f.validate)
  209. {
  210. if(f.validate.value=='') {
  211. alert("请填写验证码!");
  212. return;
  213. }
  214. else {
  215. nvalidate = f.validate.value;
  216. }
  217. }
  218. var myajax = new DedeAjax(taget_obj, false, true, '', '', waithtml);
  219. if(f.notuser.checked) nnotuser = '1';
  220. if(f.username) nusername = f.username.value;
  221. if(f.pwd) npwd = f.pwd.value;
  222. myajax.sendlang = '{dede:global.cfg_soft_lang/}';
  223. myajax.AddKeyN('dopost', 'send');
  224. myajax.AddKeyN('aid', '{dede:field.id/}');
  225. myajax.AddKeyN('fid', f.fid.value);
  226. myajax.AddKeyN('type', 'ajax');
  227. myajax.AddKeyN('comtype', f.comtype.value);
  228. myajax.AddKeyN('isconfirm','yes');
  229. myajax.AddKeyN('typeid', f.typeid.value);
  230. myajax.AddKeyN('quotemsg', f.quotemsg.value);
  231. myajax.AddKeyN('validate', nvalidate);
  232. myajax.AddKeyN('notuser', nnotuser);
  233. myajax.AddKeyN('username', nusername);
  234. myajax.AddKeyN('pwd', npwd);
  235. myajax.AddKeyN('msg', msg);
  236. myajax.SendPost2('{dede:global.cfg_phpurl/}/feedback_ajax.php');
  237. //alert(f.quotemsg.value);
  238. if($DE('ajaxfeedback_'+fid).innerHTML != null)
  239. {
  240. $DE('ajaxfeedback_'+fid).innerHTML = '';
  241. }
  242. scroll(0, taget_obj.offsetTop);
  243. }
  244. LoadCommets(1);
  245. </script>
  246. <!-- //评论内容区结束 -->