Показать сообщение отдельно
Старый 27.06.2014, 09:36   #1
Постоялец
 
Пол:Мужской
Регистрация: 11.07.2008
Адрес: Украина, Львов
Сообщений: 277
Репутация: 82
По умолчанию jQuery validation и select

Использую remote jQuery validation для елемента select. Но при сабмите формы, jQuery шлет множество запросов по валидации поля select и форма не сабмитится. Хотя для елемента input все работает нормально. После многих часов исследований, нашел ошибку - в коде jquery.validate.js есть следующий код:
Код:
if ( previous.old === value ) {
	return previous.valid;
}
и даже если я не менял выбранный елемент в листе, он объект value всегда будет другим.
Например:
Код:
$("input[name=Name]").val() === $("input[name=Name]").val()

true
Код:
$("select[name=Items]").val() === $("select[name=Items]").val()

false
То есть, вероятно, при сабмите, форма опьять проверяет это поле (шлет запрос на сервер), и потом снова, потому что считает, что его значение изменилось.
Кто нибудь знает, как это пофиксить?

Добавлено через 1 час 35 минут
Проблемма решена. Если кому интересно, перезагрузил метод $.validator.prototype.elementValue, где я смотрю, если значение элемента массив, и $element.data("previousValue").old также массив, и они равны, я возвращаю предыдущее значение.

Тему можно закрывать.
bssergy вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.02091 секунды с 10 запросами