У меня есть 5-страничная форма, которая заменяет только форму, используя replaceWith при каждой отправке.
Все отлично работает, кроме проверки на последней странице.Кажется, что он просто не делает document.ready (который был вставлен с page0).Я могу получить предупреждение для показа на странице 0, но затем следующий HTML-код, добавленный replaceWith, не проверяется.
Заранее благодарен за любую помощь, которую вы можете оказать.
function sendTo(where) {
var datastring = $("#QouteForm").serialize();
//show the loading sign
$('.loading').show();
$.ajax({
url: where,
type: "GET",
data: datastring,
cache: false,
success: function (html) {
//hide the form
$('#formdiv').fadeOut('slow',complete);
function complete() {
$('#formdiv').fadeIn('slow').replaceWith(html);
$('.loading').hide();
}
}
});
return false;
}
$("#QouteForm").validate({
submitHandler: function(form) {
$('#QouteForm').submit();
}
});
//custom method to check if the field is equal to its default value
$.validator.addMethod(
'notEqual', function (value, element) {
return value !== element.defaultValue;
}, 'Please enter a value.'
);
//method to check if it's a valid US phone number
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
});
//do the validation
$(function() {
$("#QouteForm").validate({
rules: {
firstname: "notEqual",
lastname: "notEqual",
company: "notEqual",
phone: {
required: true,
phoneUS: true
},
email: {
required: true
}
}
});
});