http://www.phpwind.net/read-htm-tid-434191.html功能一:回帖中必须有汉字.
功能二:发帖标题输入字符数显示,超出长度自动提示
6月7日新增红色部份.
6月8日更新,修正了使用所见即所得时不受限制的BUG.红色部份重新修改就可以了.
于是闲中也来弄弄.
第一个功能:回帖必须有汉字,至于要几个汉字才可以回复,自行设定.
新增如果要修改为必须有五个汉字才可以回复(其实是随便自己设置为几个汉字,只需要修改里面的数字7就可以了,修改为3,则只要有一个汉字就可以回复.自行设定),则按下面修改
效果如图:
找到template\wind下的fastpost.htm里面的
if(obj.atc_content.value.length<$db_postmin){
在上方添加以下代码
if((obj.atc_content.value+"汉字").match(/[\\u4e00-\\u9fa5]/g).length<7){
alert("尊重楼主,倡导更有价值回帖,回帖内容请在5个汉字以上");
obj.atc_content.focus();
return false;
}
如果要更进一步限制,防止点击新回复而不受限,则按如下:
找到template\wind目录下的post.htm里面的
if(obj.atc_content.value.length<$db_postmin){
在上方添加以下代码
if((obj.atc_content.value+"汉字").match(/[\\u4e00-\\u9fa5]/g).length<7){
alert("尊重会员,倡导更有价值帖,帖子内容请在5个汉字以上");
editor.focusEditor();
return false;
}
第二个功能也不复杂
找到template\wind下的post.htm
找到
<tbody><tr class="tr3 f_one"><th width="20%" class="t_one"><b>标题</b></th>
在它的上面添加如下
<script language="javascript">
function changeText(objElement) {
var oTextCount = document.getElementById("txtCount");
var stextcount= document.getElementById("txtCount1");
var tmp="";
tmp=objElement.value.replace(/[^\x00-\xff]/g,"ab");
oTextCount.innerHTML = tmp.length;
stextcount.innerHTML=45-tmp.length;
if (tmp.length >45) {
alert("标题长度超出限制,请减少字数。");
}
}
</script>
找到如下代码
<th><input class="input" name="atc_title" size="60" value="$atc_title" tabindex="1" style="font: 14px Tahoma; padding-left:2px" /></th>
替换为
<th>
已输入:<font color="red"><span id="txtCount">0</span></font> 字符,剩余<font color=red><span id="txtCount1">45</span></font> 字符<br>
<input class="input" name="atc_title" size="60" value="$atc_title" tabindex="1" style="font: 14px Tahoma; padding-left:2px" onkeyup="changeText(this);" /></th>
其中的数字45是你后台设置的标题最大长度.如果后台设置的是50,那么这里可以填写45,因为回复帖子的时候会自动加上RE:,如果后台设置标题长度50,当发帖时输入50字符是可以的,但回复时会提示标题太长.原因就是回复时会自动加上RE:
编辑时要重输入标题,是我的错, value="" 丢失了$atc_title
现在修正了.
在对照重新修改一下就行了.
修改时记得备份.