在应用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个小时啊。兄弟们,千万不要命名表单的名称为nodeName啊。
相关推荐
#### 代码解析与实践 ### 创建模态窗口 首先,通过`$.extend`方法向jQuery添加自定义函数`showDialog`: ```javascript $.extend({ showDialog: function(loginPage, loadingimg) { // 创建背景遮罩层 $("body...
在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。本示例中,“jQuery input文本框城市下拉菜单选择代码”是关于如何使用jQuery来实现一个交互式的城市选择功能,...
本知识点将详细解析在命名表单元素时的常见错误,并探讨在使用jQuery时如何避免这些问题,确保代码的正确执行和浏览器的兼容性。 首先,需要明确的是,HTML表单元素包括但不限于输入框(input)、文本域(textarea...
6. **错误提示**:验证失败时,应提供明确的错误消息,指导用户如何正确输入。可以使用`console.error()`、DOM操作或React等库的状态管理来实现。 7. **ES6+新特性**:随着ECMAScript版本的更新,如`includes()`, `...
Ajax请求和Filter配合案例解析: ...需要注意的是,在实际开发中,SQL注入的防御方法远不止上述简单的字符串替换校验,还应包括但不限于预编译语句(PreparedStatement)、存储过程、ORM框架等多种安全实践。
var ua = navigator.userAgent.toLowerCase(); // IE浏览器检测 if (window.ActiveXObject) { Sys.ie = ua.match(/msie([\d.]+)/)[1]; } // Firefox浏览器检测 else if (document.getBoxObjectFor) { Sys.fire...
5. **字符串操作**:`trim()`、`toLowerCase()`、`toUpperCase()`、`substring()`等方法用于字符串的基本操作,而正则表达式则提供了复杂的字符串匹配和替换功能。 四、现代JavaScript特性 随着ES6(ECMAScript ...