【发布时间】:2013-03-25 19:16:43
【问题描述】:
我总是出错
Uncaught TypeError: Cannot call method 'call' of undefined
当我在表单中输入正确的电子邮件时。自定义按摩也不起作用。
函数?module=auth&action=registration 正常工作(它返回字符串'false' 或'true')。
我使用这个插件:JQuery Validation Plugin。
我认为问题出在下面的这些文件中。
custom.validation.js:
$(document).ready(function() {
$("#reg").validate({
rules: {
'u1[firstName]': "required",
'u2[firstName]': "required",
'u1[lastName]' : "required",
'u2[lastName]' : "required",
'u1[email]' : {
"required" : true,
"email" : true,
"remote" : {
url: '?module=auth&action=checkemail',
type: "post",
data:
{
'u1[email]': function()
{
console.log($("#email1").val());
return $("#email1").val();
}
}
},
'u2[email]' : "required"
},
messages: {
'u1[firstName]': {
required: "My requied text"
}
}
}
});
});
和形式:
<fieldset>
<label for="imie" >Name:</label>
<input type="text" name="u1[firstName]"{if $smarty.post.u1.firstName} value="{$smarty.post.u1.firstName}"{/if}>
<label for="nazwisko" >Lastname:</label>
<input type="text" name="u1[lastName]" {if $smarty.post.u1.lastName} value="{$smarty.post.u1.lastName}"{/if}>
<label for="adresEmail">E-mail:</label>
<input type="text" name="u1[email]" id="email1" {if $smarty.post.u1.email} value="{$smarty.post.u1.email}"{/if}>
</fieldset>
<fieldset>
<button type="submit">Send</button>
</fieldset>
【问题讨论】:
-
您是否尝试过传递完整的 URL 而不仅仅是查询字符串?
-
您发布的 HTML 与您的 jQuery 不匹配。
u2字段在哪里?此外,最好发布 rendered HTML,因为这是客户端代码将看到/使用的唯一内容。