泪流满面。
<input>里id和name都不能是nodeName,否则跟jquery.js冲突
JQuery 实践问题 - toLowerCase 错误
在应用JQuery+easyui开发的项目的时候,今天突然在一个模块报错:
Chome下:
Uncaught TypeError: Object #<HTMLInputElement> has no method 'toLowerCase'
IE下:
SCRIPT438: 对象不支持“toLowerCase”属性或方法
jquery-1.8.3.js, 行1719 字符3
郁闷很久,下载JQuery源代码调试,更换版本,调整DOCTYPE,都没有办法解决,而且最怪的是只有这个模块,其他模块都是正常的,冷静下来判断可能问题出在该模块上。于是仔细的分析该报错的简单页面。如下
- <%@ page contentType="text/html;charset=UTF-8"%>
- <%@ include file="/manage/common/taglibs.jsp"%>
- <div align="center">
- <form id="manage_flownode_editform" action="url" method="post">
- <jodd:form bean="flowNode" scope="request">
- <input name="id" type="hidden" />
- <table class="tableForm" width="100%">
- <tr>
- <th width="30%">节点名称:</th>
- <td><input type="text" name="nodeName" class="easyui-validatebox" data-options="required:true" validType="length[1,32]"/></td>
- </tr>
- </table>
- </jodd:form>
- </form>
- </div>
于是逐一删减代码分析,发现问题出在一个表单的命名上:
<input type="text" name="nodeName" class="easyui-validatebox" data-options="required:true" validType="length[1,32]"/>
修改nodeName为其他名称后,问题解决。我靠~ 浪费了3,4个小时啊。兄弟们,千万不要命名表单的名称为node