请使用以下代码:
$("#docUploadForm").on("submit", function(event) {
event.preventDefault();
});
到目前为止足够简单,对吗?绑定是在init()
上触发的$(document).ready()
方法内触发的。
Chrome在绑定提交的行上抱怨: Uncaught TypeError: Object #<HTMLInputElement> has no method 'toLowerCase'
抛出的错误来自jQuery核心。如果有人好奇,相关的电话是在jquery-1.7.1.js的第1853行:var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
那么,我需要做些什么才能解决这个问题?
Firefox 9中的Firebug抱怨同样的问题。所以这不是浏览器实现问题。
答案 0 :(得分:6)
发现了这个问题。
这适用于使用Java Content Repository的内部Web应用程序。在JCR中,对象称为节点,因此我们使用节点名称引用对象。
在我的表单中,我有一个隐藏的输入,其id为nodeName
,这显然会导致与jQuery冲突。在jQuery中出错的行是调用elem.nodeName
,它返回隐藏的输入而不是它期望的DOM节点的名称。
所以吸取教训:不要给表单元素一个id为“nodeName”,jQuery不喜欢它。
请参阅this Fiddle了解演示。