Discuz教程网

Discuz X2.5 分类信息必填下拉框字段没有填写提示的解决方法

[复制链接]
authicon dly 发表于 2012-9-29 18:41:46 | 显示全部楼层 |阅读模式
Discuz! X2.5 分类信息信息保护无权限提示信息登录弹窗用法
Discuz分类信息分类信息用途很多,其中下拉框是经常用到的,同时下拉框也是经常设置成必填字段,可是有时下拉值选择后,还是提示没有填写,很多人会以为是数据库或程序的原因,但是都没解决。
一般出现错误肯定是在这个分类设置里引起的,比如你加了什么代码。这次我要讲的就是信息保护设置引起的。


  1. <a href="member.php?mod=logging&action=login" style="color:#FF0000">登录后查看</a>
复制代码

这段代码就是信息保护设置里的。
可是这段代码会引起JS错误,导致下拉必填提示没填写

设置方法:后台-论坛-分类信息-字段管理 选择要保护的字段编辑 或后台-论坛-分类信息 找到对应的分类再点详情选要保护的字段进行编辑。如下图就是信息保护设置部分:
20120929111834162.jpg
当然这次不光只讲怎么设置,这很容易,主要是讲怎么设置“无权限提示信息”,如果设置文字提示是很简单的。现在是想文字提示的同时用户点击后弹出登录注册框。这样用户体验就很好的。可是这段代码直接放进去会有错误,发贴页的下拉框选择后出现JS错误,总是未填的状态。导致不能提交主题。
原始代码如下:

  1. <a href="member.php?mod=logging&action=login" style="color:#FF0000">登录后查看</a>
复制代码

后来测试后现,是showWindow('login', this.href);hideWindow('register');引起的。如果把这段代码用一个函数替换是不是可以呢?结果真的可以。
替换后的代码如下:
  1. <a href="javascript:flts('member.php?mod=logging&action=login')" style="color:#FF0000">登录后查看</a>
复制代码


现在就是要让ts(this.href)这个函数能够调用,那么就要写个函数。
  1. <script>
  2. function flts(url)
  3. {
  4. showWindow('login',url);
  5. hideWindow('register');
  6. }
  7. </script>

复制代码

这个函数可以放到一个JS文件里,只要分类信息页面能引用这个文件就行了,当然这个不方便。还有个简单的方法就是放在帖子页模板里。如图:
20120929112631877.jpg

注意代码要放在信息保护字段的上面。补充一下函数名改成flts,因为在测试时发现ts有错误,应该是与系统的函数重名了。



上一篇:Discuz X2.5教你修改或删除“用掌上论坛访问本站,拥有更好阅读体验 ”
下一篇:Discuz X2.5 设置用户组发外链权限
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 05:14

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表