查看: 4|回复: 0

Discuz! 举报必须选择理由才能成功提交

[复制链接]

1165

主题

14

回帖

3117

积分

管理员

金钱
1938
发表于 3 小时前 | 显示全部楼层 |阅读模式

Discuz! 举报必须选择理由才能成功提交

Discuz! 举报必须选择理由才能成功提交



把下面的代码添加到后台\全局\站点信息\网站第三方统计代码 (或添加到 footer 模板的最下边也可以)

  1. <script type="text/javascript">
  2. // 使用事件捕获阶段,确保比 Discuz 原生事件更早拦截
  3. document.addEventListener('click', function(e) {
  4.     var target = e.target;
  5.    
  6.     // 如果点击的是带有确定/提交性质的按钮,且当前处于举报弹窗中
  7.     if (target && (target.name === 'reportsubmit' || target.id.indexOf('reportsubmit') !== -1 || target.value === '确定' || target.innerText === '确定')) {
  8.         
  9.         // 向上寻找该按钮所在的弹窗容器,确认里面有“举报”字眼,避免误伤其他按钮
  10.         var dialog = target.closest('.f_c, .floatwin, div[id*="fwin_"]');
  11.         if (dialog && dialog.innerHTML.indexOf('举报') !== -1) {
  12.             
  13.             // 查找该弹窗内所有的单选框(Discuz 举报理由通常是 radio)
  14.             var radios = dialog.querySelectorAll('input[type="radio"]');
  15.             var isChecked = false;

  16.             for (var i = 0; i < radios.length; i++) {
  17.                 if (radios[i].checked) {
  18.                     isChecked = true;
  19.                     break;
  20.                 }
  21.             }

  22.             // 如果有单选框但没有勾选任何一个
  23.             if (radios.length > 0 && !isChecked) {
  24.                 alert('请先选择举报理由,再点击确定!');
  25.                 e.preventDefault();
  26.                 e.stopPropagation();
  27.                 e.stopImmediatePropagation();
  28.                 return false;
  29.             }
  30.         }
  31.     }
  32. }, true);
  33. </script>
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|网站地图|文强阁

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
返回顶部