Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. function EditAnswer(obj, answer_id) {
  2. var url = $(obj).attr('data-url');
  3. if (url.indexOf('?') > -1) {
  4. url += '&';
  5. } else {
  6. url += '?';
  7. }
  8. url += 'answer_id=' + answer_id;
  9. window.location.href = url;
  10. return false;
  11. }
  12. // 点赞
  13. function ClickLike(obj, ask_id, answer_id) {
  14. if ($(obj).attr('data-is_like')) {
  15. layer.msg('您已赞过!', {time: 1500});
  16. return false;
  17. }
  18. $.ajax({
  19. url: $(obj).data('url'),
  20. type: 'POST',
  21. dataType: 'json',
  22. data: {ask_id:ask_id,answer_id:answer_id},
  23. success: function(res) {
  24. if (1 == res.code) {
  25. if (3 < res.data.LikeCount) {
  26. $('#click_like_span_'+answer_id).children().eq(2).remove();
  27. }
  28. // 追加点赞人
  29. $("#click_like_name_"+answer_id).prepend(res.data.LikeName);
  30. // 点赞次数
  31. $('#click_like_'+answer_id).html(res.data.LikeCount);
  32. // 显示点赞框
  33. $('#is_show_'+answer_id).show();
  34. $('#askanswer_click_like_'+answer_id).html(res.data.LikeCount);
  35. } else {
  36. layer.msg(res.msg, {time: 1500});
  37. }
  38. // 设置当前用户已点赞过,用户再次点击则不需要执行ajax
  39. $(obj).attr('data-is_like', true);
  40. }
  41. });
  42. }
  43. function DataDel(obj, id, type) {
  44. if(id <= 0){
  45. var msg = "没有选择正确信息";
  46. }else if(type == 1){
  47. var msg = "你确定要删除该提问?";
  48. }else if(type == 2){
  49. // 删除评论回复
  50. ReplyDel($(obj).data('url'), id); return false;
  51. }else if(type == 3){
  52. var msg = "你确定要删除该回答?";
  53. }
  54. layer.confirm(msg, {
  55. btn: ['确认', '取消'],
  56. title: false,
  57. closeBtn: 0
  58. }, function () {
  59. $.ajax({
  60. url: $(obj).data('url'),
  61. data: {id:id, type:type},
  62. type:'post',
  63. dataType:'json',
  64. success:function(res){
  65. if ('1' == res.code) {
  66. layer.msg(res.msg, {time: 1500});
  67. if (3 == type) {
  68. $('#ul_div_li_'+id).remove();
  69. }else if (1 == type) {
  70. layer.msg(res.msg, {time: 1000},function(){
  71. window.location.href = res.url;
  72. });
  73. }
  74. layer.closeAll();
  75. }else{
  76. layer.msg(res.msg, {time: 2000});
  77. }
  78. }
  79. });
  80. });
  81. }
  82. // 删除回复
  83. function ReplyDel(url, answer_id) {
  84. if (!answer_id) layer.msg('请选择删除信息!', {time: 1500});
  85. $.ajax({
  86. url: url,
  87. type: 'POST',
  88. dataType: 'json',
  89. data: {answer_id:answer_id},
  90. success: function(res){
  91. if (1 == res.code) {
  92. $('#'+answer_id+'_answer_li').remove();
  93. } else {
  94. layer.msg(res.msg, {time: 1500});
  95. }
  96. },
  97. error: function(e){
  98. layer.msg('删除失败~~', {time: 1500});
  99. }
  100. });
  101. }
  102. /**
  103. * 回复
  104. * @param state
  105. * @return
  106. */
  107. function replyUser(answer_id, at_users_id, at_username, at_answer_id){
  108. $("#"+answer_id+"_at_users_id").val(at_users_id);
  109. $("#"+answer_id+"_at_answer_id").val(at_answer_id);
  110. var showObj = $("#"+answer_id+"_contentInput");
  111. var inputObj = $("#"+answer_id+"_i_contentInput");
  112. showObj.attr("placeholder","回复 "+at_username+ ":");
  113. inputObj.attr("placeholder","回复 "+at_username+ ":");
  114. inputObj.val("");
  115. showObj.val("");
  116. var showContainer = $("#"+answer_id+"_init_ta");
  117. showContainer.hide();
  118. var inputContainer = $("#"+answer_id+"_ta").val("");
  119. inputContainer.show();
  120. inputObj.focus();
  121. }
  122. /**
  123. * 取消回复
  124. * @param state
  125. * @return
  126. */
  127. function unReplyUser(answer_id){
  128. $("#"+answer_id+"_at_users_id").val("");
  129. $("#"+answer_id+"_at_answer_id").val("");
  130. var showObj = $("#"+answer_id+"_contentInput");
  131. var inputObj = $("#"+answer_id+"_i_contentInput");
  132. showObj.attr("placeholder",showObj.attr("defTips"));
  133. inputObj.attr("placeholder",inputObj.attr("defTips"));
  134. inputObj.val("");
  135. showObj.val("");
  136. $("#"+answer_id+"_init_ta").show();
  137. $("#"+answer_id+"_ta").val("").hide();
  138. }
  139. function initReply(cid){
  140. $("#"+cid+"_init_ta").hide();
  141. $("#"+cid+"_ta").val("").show();
  142. $("#"+cid+"_ta #"+cid+"_i_contentInput").focus();//设置光标位置
  143. $("#"+cid+"_ta #"+cid+"_errorMsg").html("");//隐藏回复错误提示
  144. }
  145. function focusTextArea(obj){
  146. _obj = $(obj);
  147. if(_obj.val()==_obj.attr("defTips")){
  148. _obj.val("");
  149. //$("#numSpan").html(0);
  150. }
  151. }
  152. function blurTextArea(obj){
  153. _obj = $(obj);
  154. if(_obj.val()=='')
  155. _obj.attr("placeholder",_obj.attr("defTips"));
  156. else
  157. dealInputContentAndSize(obj);
  158. }
  159. /**
  160. * 对输入框限制的内容与字数处理
  161. * @param obj
  162. * @return
  163. */
  164. function dealInputContentAndSize(obj){
  165. var _obj = $(obj);
  166. //str = trim(_obj.val());
  167. str = _obj.val();
  168. var maxLength=_obj.attr("maxlength");
  169. var returnValue = '';
  170. var count = 0;
  171. var temp = 0;
  172. for (var i = 0; i < str.length; i++) {
  173. // if (str[i].match(/[^\x00-\xff]/ig) != null) {
  174. // count += 2;
  175. // temp = 2;
  176. // }else {
  177. count += 1;
  178. temp = 1;
  179. // }
  180. if (count > maxLength) {
  181. count -= temp;
  182. break;
  183. }
  184. returnValue += str[i];
  185. }
  186. _obj.val(returnValue);
  187. //$("#numSpan").html(count);
  188. }
  189. /**
  190. * 回答问题
  191. * @param state
  192. * @return
  193. */
  194. function answer_submit(obj){
  195. if (!$('textarea[name="ask_content"]').val()) {
  196. layer.msg('请写下你的回答!', {time: 1500, icon: 2});
  197. return false;
  198. }
  199. layer_loading('正在处理');
  200. $.ajax({
  201. url: $(obj).data('url'),
  202. data: $('#commentForm').serialize(),
  203. type:'post',
  204. dataType:'json',
  205. success:function(res){
  206. layer.closeAll();
  207. if (1 == res.code) {
  208. if (res.data.review) {
  209. var times = 2500;
  210. }else{
  211. var times = 1000;
  212. }
  213. layer.msg(res.msg, {time: times},function(){
  214. window.location.reload();
  215. });
  216. } else {
  217. get_token("__token__add_answer");
  218. layer.msg(res.msg, {time: 1500, icon: 2});
  219. }
  220. },
  221. error : function() {
  222. layer.closeAll();
  223. get_token("__token__add_answer");
  224. layer.alert('网络失败,请刷新页面后重试', {icon: 5, closeBtn: 0});
  225. }
  226. });
  227. }
  228. /**
  229. * 评论
  230. * @param state
  231. * @return
  232. */
  233. function reply(answer_id, obj){
  234. if($('#'+answer_id+'_i_contentInput').val()== '' || $('#'+answer_id+'_i_contentInput').val() == '写下你的评论'){
  235. $("#"+answer_id+"_errorMsg").text('请输入评论');
  236. //输入框内容改变时,清空错误提示
  237. $('#'+answer_id+'_i_contentInput').bind('input propertychange',function() {
  238. $("#"+answer_id+"_errorMsg").html("");
  239. })
  240. return;
  241. }
  242. //提交服务器
  243. layer_loading('正在处理');
  244. $.ajax({
  245. url: $(obj).data('url'),
  246. type: 'post',
  247. dataType: 'json',
  248. data: $('#'+answer_id+'_replyForm').serialize(),
  249. success: function(res){
  250. layer.closeAll();
  251. if (1 == res.code) {
  252. /*提示及追加html处理*/
  253. var times = res.data.review ? 2000 : 1000;
  254. if (res.data.htmlcode) $("#"+answer_id+"_ReplyContainer").append(res.data.htmlcode);
  255. unReplyUser(answer_id);
  256. get_token("__token__add_answer");
  257. layer.msg(res.msg, {time: times});
  258. /* END */
  259. } else {
  260. get_token("__token__add_answer");
  261. layer.msg(res.msg, {time: 1500, icon: 2});
  262. }
  263. },
  264. error : function() {
  265. layer.closeAll();
  266. get_token("__token__add_answer");
  267. layer.alert('网络失败,请刷新页面后重试', {icon: 5});
  268. }
  269. });
  270. }
  271. function BestAnswer(obj, answer_id, users_id) {
  272. if (!answer_id) layer.msg('请选择采纳的回答!', {time: 1500, icon: 2});
  273. //提交服务器
  274. layer_loading('正在处理');
  275. $.ajax({
  276. url: $(obj).data('url'),
  277. type: 'post',
  278. dataType: 'json',
  279. data: {answer_id:answer_id,users_id:users_id},
  280. success: function(res){
  281. layer.closeAll();
  282. if (1 == res.code) {
  283. layer.msg(res.msg, {time: 1000},function(){
  284. window.location.reload();
  285. });
  286. } else {
  287. layer.msg(res.msg, {time: 1500, icon: 2});
  288. }
  289. },
  290. error : function() {
  291. layer.closeAll();
  292. layer.alert('网络失败,请刷新页面后重试', {icon: 5});
  293. }
  294. });
  295. }
  296. function ReviewAsk(obj, ask_id) {
  297. layer.confirm('确认审核该问题?', {
  298. btn: ['确认', '取消'],
  299. title: false
  300. }, function () {
  301. layer_loading('正在处理');
  302. $.ajax({
  303. url: $(obj).data('url'),
  304. type:'post',
  305. data: {ask_id:ask_id},
  306. dataType:'json',
  307. success:function(res){
  308. layer.closeAll();
  309. if ('1' == res.code) {
  310. // 删除对应的审核按钮
  311. $('#'+ask_id+'_Ask').remove();
  312. layer.msg(res.msg, {time: 1500});
  313. }else{
  314. layer.msg(res.msg, {time: 2000});
  315. }
  316. },
  317. error:function() {
  318. layer.closeAll();
  319. layer.alert('未知错误!', {icon: 5});
  320. }
  321. });
  322. });
  323. }
  324. // 管理员审核评论
  325. function Review(obj, answer_id, status) {
  326. layer.confirm('确认审核该评论?', {
  327. btn: ['确认', '取消'],
  328. title: false
  329. }, function () {
  330. layer_loading('正在处理');
  331. $.ajax({
  332. url: $(obj).data('url'),
  333. data: {answer_id:answer_id},
  334. type:'post',
  335. dataType:'json',
  336. success:function(res){
  337. layer.closeAll();
  338. if ('1' == res.code) {
  339. // 删除对应的审核按钮
  340. $('#'+answer_id+'_Review').remove();
  341. // 显示对应的采纳最佳答案按钮
  342. if (1 == status) $('#'+answer_id+'_Best').show();
  343. layer.msg(res.msg, {time: 1500});
  344. }else{
  345. layer.msg(res.msg, {time: 2000});
  346. }
  347. },
  348. error:function() {
  349. layer.closeAll();
  350. layer.alert('未知错误!', {icon: 5});
  351. }
  352. });
  353. });
  354. }
  355. // 获取指定数量的评论数据(分页)
  356. function ShowComment(obj, answer_id, is_comment) {
  357. /*处理查询数据*/
  358. var firstRow = $(obj).attr('data-firstRow');
  359. var listRows = $(obj).attr('data-listRows');
  360. firstRow = Number(firstRow)+5;
  361. /* END */
  362. //提交服务器
  363. layer_loading('正在处理');
  364. $.ajax({
  365. url: $(obj).data('url'),
  366. type: 'post',
  367. dataType: 'json',
  368. data: {answer_id:answer_id, firstRow:firstRow, listRows:listRows, is_comment:is_comment},
  369. success: function(res){
  370. layer.closeAll();
  371. if (1 == res.code) {
  372. // 追加html处理
  373. if (res.data.htmlcode) $("#"+answer_id+"_ReplyContainer").append(res.data.htmlcode);
  374. // 更新下一次提交查询数量
  375. $(obj).attr('data-firstRow', firstRow);
  376. } else {
  377. layer.msg(res.msg, {time: 1500, icon: 1});
  378. $(obj).hide();
  379. }
  380. },
  381. error : function() {
  382. layer.closeAll();
  383. layer.alert('未知错误!', {icon: 5});
  384. }
  385. });
  386. }
  387. // 排序
  388. function AnswerLike(obj) {
  389. var url = $(obj).data('url');
  390. var sort_order = $(obj).data('sort_order');
  391. if (url.indexOf('?') > -1) {
  392. url += '&';
  393. } else {
  394. url += '?';
  395. }
  396. url += 'click_like=' + sort_order + '#comment';
  397. window.location.href = url;
  398. }
  399. // 加载层
  400. function layer_loading(msg){
  401. var loading = layer.msg(
  402. msg+'...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请勿刷新页面',
  403. {
  404. icon: 1,
  405. time: 3600000, //1小时后后自动关闭
  406. shade: [0.2] //0.1透明度的白色背景
  407. });
  408. //loading层
  409. var index = layer.load(3, {
  410. shade: [0.1,'#fff'] //0.1透明度的白色背景
  411. });
  412. return loading;
  413. }
  414. function get_token(name)
  415. {
  416. $.ajax({
  417. url: __root_dir__+"/index.php?m=api&c=Ajax&a=get_token&name="+name,
  418. type:'get',
  419. success:function(res){
  420. $(".token_answer_1652345941").val(res);
  421. },
  422. error : function(res) {
  423. console.log("请求失败",res);
  424. }
  425. });
  426. }
  427. function checkAddAskCoin(obj,coin) {
  428. var val = $(obj).val();
  429. val = val.replace(/[^\d.]/g, '');
  430. if (!val){
  431. val = 0;
  432. }
  433. val = parseInt(val);
  434. if (val > coin) {
  435. val = coin;
  436. }
  437. $(obj).val(val);
  438. }