您的位置:首页 > 运维架构 > 网站架构

河北省纪委举报网站:JS代码的错误导致没有人能举报成功

2016-05-26 15:28 836 查看
今天有个网友让我看看河北省纪委监察厅举报网站为什么无法提交举报信息,说总是提示举报问题字


hebei.12388.gov.cn/site/index.jsp

        然后按照步骤点确定之后就到了信息提交页面:



       在这个网页中无论在“主要问题”的textarea输入框中输入多少字,点完成后都会提示字数不能少于100,看看代码吧:

      这个输入框的HTML代码:

     

<tr>
<td valign="top" align="middle" width="130" bgcolor="#eef0f7" height="25"><font color="#FF0000"> * </font>主要问题:</td>
<td bgcolor="#f8fbfe" colspan="3"><textarea name="tareaSummary" rows="8" cols="70"></textarea></td>
</tr>


       这个TextArea的名字是tareaSummary,初始化没有值,那么判断的代码在下面:

    

<script type="text/javascript">
<!--
function commitSubForm(dForm){

if(commitForm(dForm)){
var content=dForm.tareaSummary.innerHTML;
if(content.length<100){
alert("举报信件主要问题字数不少于100!");
return false;
}else{
return true;
}
}else{
return false;
}
}
-->
</script>


        看完我知道了,这竟然用TextArea的innerHTML来获取输入内容,看来做这个网页的技术要么是对TextArea的取值方法不明白,认为innerHTML和value是相同的。innerHTML取的是TextArea当前标签内部的html代码内容,在这个页面永远是空,而用一个空的字符串判断其长度是否小于100,那注定会有这个字数不够的提示。

       我分析了一下原因:第一种:写完代码没有经过测试就发布了(可能吗?);第二种:JW领导授意,封住这个提交举报的口子,但还要给上级看有这么一个东西,反正也不过问,到底啥原因大家自己领会吧。

       建议大家在写JS的时候一定注意TextArea的innerHTML,innerText,value的区别。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  TextArea