DiscuzX2 弹出框用户注册提示"抱歉,您输入的用户名小于3个字符"解决方法

DiscuzX2 用户注册提示"抱歉,您输入的用户名小于3个字符"的解决办法

这个问题出现的原因是ajax弹出式的注册窗口,这里说说在X2中怎么解决。

方法一:
(1)打开“根目录/template/default/member/register.htm”这个文件

(2)在文件中搜索“id=”{$this->setting['reginput']”,会找到四个地方,分别是:
<td><input type=”text” id=”{$this->setting['reginput']['username']}” name=”" …
<td><input type=”password” id=”{$this->setting['reginput']['password']}” name=”" …
<td><input type=”password” id=”{$this->setting['reginput']['password2']}” name=”" …
<td><input type=”text” id=”{$this->setting['reginput']['email']}” name=”" …
将四处id的值(如{$this->setting['reginput']['username']})分别拷贝给对应的name

(3)这四处input中,name都是"",所以在填写完注册信息后,submit到后台去时,后台通过name去拿填写的数据会拿不到任何东西。而注册前的验证会检查注册信息是否完备,第一个input是username,当它检查到输入内容为空时,当然会提示“抱歉,您输入的用户名小于3个字符”。只有在修改了后台某些配置后才出现这个问题,有网友说在原来的register.js中会将input空间的name设置成和id一样的值,但现在不起作用了,这个问题就产生了。

方法二:
(1)打开“根目录/template/default/member/register.htm”这个文件

修改:
addFormEvent('registerform', <!--{if $_G[gp_action] != 'activation' && !($bbrules && $bbrulesforce) && !empty($invitecode)}-->1<!--{else}-->0<!--{/if}-->);
替换为:
setTimeout(function(){addFormEvent('registerform', <!--{if $_G[gp_action] != 'activation' && !($bbrules && $bbrulesforce) && !empty($invitecode)}-->1<!--{else}-->0<!--{/if}-->);}, 50);


补充:
据网友说:直接在后台,全局——注册与访问——开放QQ注册的框里面的勾去掉也可以解决该问题,有兴趣的朋友可以试试这种方法。

相关文章

此处评论已关闭