`

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个小时啊。兄弟们,千万不要命名表单的名称为nodeName啊。

 

    

分享到:
评论
5 楼 Love_wh1314 2017-03-03  

果然是这个问题。。。
维护别人的代码,开始还以为自己改错了,结果有这么一个大坑。
4 楼 youlxb2008 2016-06-20  
非常感谢,果然好坑呀
3 楼 hitmxs 2016-04-24  
楼主,我被你的奉献精神,共享精神,伟大的阶级情谊感动了。我也遇到一样问题。解决了。的确是不能命名为nodeName
2 楼 bigablecat 2016-01-13  
找遍全网用楼主的方法解决了!泪流满面。
<input>里id和name都不能是nodeName,否则跟jquery.js冲突
1 楼 韩三表 2014-06-05  
谢谢博主,果然是nodeName问题,浪费了好多时间。

相关推荐

    jQuery实现模式窗口登录

    #### 代码解析与实践 ### 创建模态窗口 首先,通过`$.extend`方法向jQuery添加自定义函数`showDialog`: ```javascript $.extend({ showDialog: function(loginPage, loadingimg) { // 创建背景遮罩层 $("body...

    jQuery input文本框城市下拉菜单选择代码

    在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。本示例中,“jQuery input文本框城市下拉菜单选择代码”是关于如何使用jQuery来实现一个交互式的城市选择功能,...

    使用jQuery时Form表单元素ID和name命名大忌

    本知识点将详细解析在命名表单元素时的常见错误,并探讨在使用jQuery时如何避免这些问题,确保代码的正确执行和浏览器的兼容性。 首先,需要明确的是,HTML表单元素包括但不限于输入框(input)、文本域(textarea...

    JavaScript_字符串验证.zip

    6. **错误提示**:验证失败时,应提供明确的错误消息,指导用户如何正确输入。可以使用`console.error()`、DOM操作或React等库的状态管理来实现。 7. **ES6+新特性**:随着ECMAScript版本的更新,如`includes()`, `...

    Ajax请求和Filter配合案例解析

    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...

    js常用技术,包括一些常用方法

    5. **字符串操作**:`trim()`、`toLowerCase()`、`toUpperCase()`、`substring()`等方法用于字符串的基本操作,而正则表达式则提供了复杂的字符串匹配和替换功能。 四、现代JavaScript特性 随着ES6(ECMAScript ...

Global site tag (gtag.js) - Google Analytics