以下のコードを使用しているときに、「Uncaught TypeError: Cannot call method 'call' of undefined jquery.validate.min.js:29」が表示されます。同じコードが「jquery-1.8.2.js」で機能していますが、 「jquery-190.js」で機能せず、検証から「require_from_group: [1,".customer-identifier"],」を削除すると、機能します。
$(document).on( 'pageinit', '#contact-us-page', function(event){
var $currentPage = $(event.target);
var $form = $currentPage.find("form#customer-identifier");
var validator_contactuspage = $form.validate({
rules: {
account_number: {require_from_group: [1,".customer-identifier"], digits: true, maxlength: 10, minlength: 10},
phone_number: {require_from_group: [1,".customer-identifier"], phoneUS: true}
},
messages: {
account_number: {
maxlength: "Please enter exactly 10 digits.",
minlength: "Please enter exactly 10 digits."
}
},
highlight: function(element, errorClass) {
$(element).removeClass("valid");
$(element).addClass("error");
},
success: function(element, validClass) {
$(element).removeClass("error");
$(element).addClass("valid");
},
submitHandler: function(form){
getAddress();
return false;
}
});
$form.find("input[name=account_number]").bind("keyup change blur", function(event){
if(checkNull($(this).val()).length > 0){
$form.find("input[name=phone_number]").attr("disabled", "disabled");
}
else{
$form.find("input[name=phone_number]").removeAttr("disabled");
}
});
$form.find("input[name=phone_number]").bind("keyup change blur", function(event){
if(checkNull(stripAlpha($(this).val())).length > 0){
$form.find("input[name=account_number]").attr("disabled", "disabled");
}
else{
$form.find("input[name=account_number]").removeAttr("disabled");
}
});
});
編集:誰かが試してみたい場合は、 JSFiddle にコードを追加しました。 http://jsfiddle.net/D65WY/36/
何かご意見は?