当我提交this form时,我很快得到一个“对象不是函数”的错误(在Chrome中),而表单提交。我的错误是什么?为什么我在这个表单上得到'对象不是函数'?
我确定这是愚蠢的,但对于我的生活,我不明白这里有什么问题。
当我提交this form时,我很快得到一个“对象不是函数”的错误(在Chrome中),而表单提交。我的错误是什么?为什么我在这个表单上得到'对象不是函数'?
我确定这是愚蠢的,但对于我的生活,我不明白这里有什么问题。
其他答案是正确的,但通过更恰当地使用jQuery可以避免所有这些麻烦。
相反的形式标记内内联JavaScript,加ID的形式,然后让这样的代码:
$(document).ready(function() {
$("#myform").bind("submit", validate);
});
窗体现在应该是这样的:
<form id="myform">
而且不要忘记将return false;
添加到函数本身以防止提交。
当函数内部时,JS会正确处理validate
作为一个函数 - 当在表单标签内嵌入时,它首先查找表单元素并找到按钮 - 因此出现错误。
我刚刚将您的函数名称validate()
更改为formVal()
,现在它工作得很好 - 这是因为您有一个ID为validate的元素。
变化的函数名formVal()
(或任何除了validate()
),然后更改表单标签这样说:“有效的”
<form onSubmit='return formVal();'>
现在过来说在表格下方的标题标签中。也没有错误。
很好的答案 - 我肯定会使用jQuery绑定内联函数。 – 2012-01-12 11:27:58